我想知道在调度员开始之前是否还要让你的窗口(wpf)知道一个无法解决的异常?
原因: - 我在application.xaml.vb上有一个全局未处理的代码。这将打开一个包含StackTrace信息的特殊窗口。 - 在窗口级别,我有一个用户控件,我想根据消息更改属性。现在我通常通过放置try / catch来做到这一点,但通过这样做,我将处理异常,因此特殊的msgbox永远不会显示。
有没有办法保持异常未处理,并在调度程序启动之前让窗口知道问题?如果是这样,怎么样?
申请 - 开始 窗口 - 打开 超出例外的代码() < ------我在这里需要一些东西,它运行代码同时保持代码为unhandeled。 应用程序上的UNHANDELED_EXCEPTION()
答案 0 :(得分:0)
您的问题不是很清楚,但我认为您想要捕获未处理的Exception
,以便您可以在应用程序关闭之前执行一些工作。如果这是正确的,那么您可以尝试处理AppDomain.UnhandledException
event:
public void MainWindow_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Exception exception = (Exception)e.ExceptionObject;
Error error = new Error(exception, mainViewModel.StateManager.CurrentUser);
// log error
mainViewModel.AddError(error);
}