问题描述
|
当子程序要求try / catch块成功才能起作用,但catch块不会使异常冒泡时,VB中的惯例是什么?
我可以将所有代码放到try块中,但这似乎很混乱,因为大多数代码都不需要尝试,只需要尝试成功即可。
例如,catch块是否应该退出潜水艇?在我当前的情况下,这可以解决问题,如果是正确的过程,请告诉我,但是对于成功和失败都需要额外处理的更一般的情况呢?
解决方法
我会这样
Dim success As Boolean = False
Try
\'Code to execute
success = True
Catch ex As Exception
End Try
If success Then
\'success processing
Else
\'failure processing
End If
, 这是一个悬而未决的老问题,所以我尝试回答这个问题可能会对别人有所帮助。
尝试这个:
Dim successState As Boolean = True
Try
\' Do something in here that
\' might raise an error.
Catch
\' Handle exceptions that occur within
\' the Try block,here.
successState = False
Finally
\' Perform cleanup code in here.
End Try
If successState Then
MessageBox.Show(\"Success!\")
End If
当它捕获错误时,将不会显示成功框。