我有一个ASP.NET 2010应用程序。基本上,在我有理由怀疑错误的任何地方,我都会使用以下技术来尝试记录它。
Try
'Code causing error here
Catch ex As Exception When LogException(ex)
Catch ex As Exception 'Here is where I would put a more specific error
End Try
LogException函数ALWAYS返回false。因此,应捕获并记录每个异常,然后控制回退到块中的下一个异常。真正发生的是调用LogException函数,但在它可以执行任何操作之前,控制权将回到上面的块中的下一个异常。为什么呢?
编辑...这是被调用但返回第1行的函数...
Public Function LogException(ByVal ex As Exception) As Boolean
Dim oExceptionMgt As New ExceptionMgt 'This line runs
oExceptionMgt.LogException(ex) 'This line should go to db to log error.
Return False
End Function
答案 0 :(得分:0)
如果我发现如下情况,我不是VB程序员:
do something when somecondition
逻辑上说当something
为真时只做somecondition
。因此,在您的示例中,代码正在正确执行,因为您的LogException(Exception ex)
方法始终为false。这反过来意味着在这个实例中不执行something
并继续执行。