我正在尝试捕获异常但偶尔会获得内部异常。我想将两者都输出到标签中。 如果没有内部异常,我经常会将Object引用设置为对象的实例。
Catch ex As Exception
exError = ex.Message.ToString
If Not ex.InnerException.Message Is Nothing Then
exError &= "<br/>" & ex.InnerException.Message.ToString
End If
Return View()
End Try
答案 0 :(得分:3)
将其更改为:
If Not ex.InnerException Is Nothing Then
exError &= "<br/>" & ex.InnerException.Message.ToString
End If
或者,正如StingyJack所指出的那样:
If ex.InnerException IsNot Nothing Then
exError &= "<br/>" & ex.InnerException.Message.ToString
End If
答案 1 :(得分:1)
由于MattC的答案并未真正说明您的代码无效的原因:
由于ex.InnerException.Message
部分,您收到“对象引用未设置为对象的实例”错误;如果“ex.InnerException”为null,则它不会有“消息”。
任何时候你试图让你不知道是否存在的对象得到几个级别,你需要建立它(即ex.InnerException!= null&amp;&amp; ex.InnerException.Message!= null等等)