为什么我不能记录错误?

时间:2011-06-27 17:58:53

标签: asp.net vb.net exception-handling

我有一个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

1 个答案:

答案 0 :(得分:0)

如果我发现如下情况,我不是VB程序员:

do something when somecondition

逻辑上说当something为真时只做somecondition。因此,在您的示例中,代码正在正确执行,因为您的LogException(Exception ex)方法始终为false。这反过来意味着在这个实例中不执行something并继续执行。