我在我的项目中遇到一个问题,如果我在 App.xaml.cs 的 OnStartup 代码中遇到异常,调试器将首先断点,当我单击继续时,它将在同一位置运行并断点,而不是退出应用程序。
但是,如果我在 App.xaml.cs 中添加 DispatcherUnhandledException 事件处理程序并为空事件处理程序,它将按预期工作。
<Application x:Class="WpfApplication8.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DispatcherUnhandledException="App_DispatcherUnhandledException"
StartupUri="MainWindow.xaml">
<Application.Resources />
</Application>
应用程序.Xaml.cs
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var b = 4 - 4;
var a = 100/b;
}
void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs args)
{
}
}
要重现问题,请从后面的代码中删除事件处理程序。
解决方案详细信息:WPF、.Net 4(包含所有当前更新)、Visual Studio 20013 更新 3。
谁能解释我为什么会得到这种行为?