我在这里浏览了很多关于这个主题的主题,但都没有成功。似乎在我们的 WPF 应用程序的 App.xaml.cs 中,处理 DispatcherUnhandledExceptions 和 AppDomain.CurrentDomain.UnhandledException 并不能捕获所有内容。
在这个特定的例子中,我们有 7 个棱镜模块。我的异常处理代码如下(UnhandledException 几乎相同):
private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
try
{
var ex = e.Exception.InnerException ?? e.Exception;
var logManager = new LogManager();
logManager.Error(ex);
if (!EventLog.SourceExists(ex.Source))
EventLog.CreateEventSource(ex.Source, "AppName");
EventLog.WriteEntry(ex.Source, ex.InnerException.ToString());
var emb = new ExceptionMessageBox(ex);
emb.ShowDialog();
e.Handled = true;
}
catch (Exception)
{ }
}
问题似乎是模块中发生的未处理异常。 它们没有被上面的代码捕获,它们会导致应用程序崩溃而不记录或显示任何类型的消息。
有人对此有经验吗?