我正在尝试访问导致UnhandledException的原始异常,但我看到的只是包含在UnhandledExceptionEventArgs.Message属性中的文本;
例如:
private void Button_Click_1(object sender, RoutedEventArgs e) { throw new NullReferenceException("Test exc"); }
this.UnhandledException += App_UnhandledException; private void App_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Debug.WriteLine(e.Message); Debug.WriteLine(e.Exception.ToString()); }
Message = System.NullReferenceException at W8.Controls.SearchControl.Button_Click_1(对象发送者, RoutedEventArgs e)
Exception = System.NullReferenceException:未将对象引用设置为 一个对象的实例。
提前感谢您的建议!
答案 0 :(得分:0)
传播到UnhandledException的内容存在一些限制。 As documented:
另一个限制是UnhandledException事件参数 不包含与原始异常一样多的细节。每当 如果应用程序需要特定的特定处理,则可能 例外,捕获传播时的异常总是更好, 因为可以获得更多细节。 UnhandledException事件 arguments通过Exception属性公开异常对象。 但是,此异常对象的类型,消息和堆栈跟踪 不保证与原始异常的那些匹配 提高。事件参数还公开Message属性。多数情况 例如,这将包含最初提出的消息 异常。