C# 使用ELMAH处理异常-内部异常为NULL
我最近刚刚在我公司的一个项目中被安排,该项目在一个使用.NET4.6.2的C#MVC项目中使用ELMAH。我以前从未使用过ELMAH,所以这个问题可能很愚蠢,但我无法在这个网站上或通过谷歌找到这个特定问题的任何答案 该项目使用ELMAH将异常记录到SQL数据库中。数据库表包含应用程序、主机、异常类型、源、消息和AllXml列(以及其他)的字段。绝大多数记录的错误我都理解,我正在进行调试 但是,有一个异常是以系统类型记录的。异常,源列为空,消息仅为,内部异常为空。如果我检查XML,它在开头包含以下内容:C# 使用ELMAH处理异常-内部异常为NULL,c#,asp.net-mvc,elmah,C#,Asp.net Mvc,Elmah,我最近刚刚在我公司的一个项目中被安排,该项目在一个使用.NET4.6.2的C#MVC项目中使用ELMAH。我以前从未使用过ELMAH,所以这个问题可能很愚蠢,但我无法在这个网站上或通过谷歌找到这个特定问题的任何答案 该项目使用ELMAH将异常记录到SQL数据库中。数据库表包含应用程序、主机、异常类型、源、消息和AllXml列(以及其他)的字段。绝大多数记录的错误我都理解,我正在进行调试 但是,有一个异常是以系统类型记录的。异常,源列为空,消息仅为,内部异常为空。如果我检查XML,它在开头包含以下
<error host="*hostname*"
type="System.Exception"
message="Inner exception is null"
detail="System.Exception: Inner exception is null"
user="*logged in user*"
time="2019-10-09T10:44:07.9624247Z">
如果我深入研究XML,我可以找到引发异常的确切控制器和方法。但是,特定方法没有try-catch
块。所以我假设这个方法偶尔会导致一个异常,这个异常是从ELMAH全局捕获的
我的问题是,是否有某种方法可以修改ELMAH配置(从web.config文件、初始化代码等),以便在内部异常为null
时,我可以找出真正的异常是什么?根据上述错误信息(即仅系统异常
和内部异常消息为空
),我无法确定原因
如有任何帮助、建议或与正在解决的类似报告问题的链接,将不胜感激。提前感谢。这可能是个愚蠢的问题,但ELMAH不包括抛出异常的堆栈跟踪吗?@ThomasArdal是的,捕获的所有其他异常都包括一个堆栈跟踪,该堆栈跟踪包含在标记的“detail”属性中。但是对于这个问题,“detail”属性只表示“System.Exception:内部异常为null”。这就是为什么我在调试时遇到如此多的麻烦,因为我不知道它是从哪里抛出的。啊,是的,这就是你写的;)您是否尝试过在代码中搜索“内部异常为null”?这不是ELMAH记录到我的知识的东西。我终于找到了它。有一段代码埋在其中一个引用库的深处,它正在编写异常,这就是为什么我无法使用VS中的find控件找到它。事实证明,它是设计用来在WCF服务返回404错误时向数据库写入“内部异常为空”的-尽管如此,请不要问我为什么,因为我不知道…哈哈。谢谢你的帮助,这就是我的观点。有人对这条消息抛出了一个异常:)很高兴你找到了原因