- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我问的问题可能很简单,但我确定我在这里遗漏了一些东西 :D
我的 App.xaml.cs 文件中有以下方法:
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
MessageBox.Show("An error occurred!", ":(", MessageBoxButton.OK);
e.Handled = true;
App.Current.Terminate;
}
并且在 App() 方法中添加了 eventHandler:
public App()
{
UnhandledException += Application_UnhandledException;
//InitializeComponent() etc...
}
现在,我在 MainPage.xaml.cs 文件中的一个方法中添加了几行生成 IndexOutOfRange 异常,例如:
int[] stuff = new int[3];
for (int i = 0; i < 4; i++)
{
stuff[i] = 0;
}
我不明白 Application_UnhandledException 方法是如何工作的,因为当我尝试运行它时,我在 Visual Studio 调试器中得到了 IndexOutOfRange 异常,但随后应用程序崩溃并且我没有得到那个消息框,所以Application_UnhandledException 中的代码根本不运行。这是为什么?
有没有办法添加一个事件处理程序,无论我遇到什么异常都会触发?我的意思是,使用 IndexOutOfRande、使用 KeyNotFound 等等...
谢谢! :)
最佳答案
您的消息框不会显示,因为它会在之后立即关闭应用程序。
如果你想停止这种行为,你需要这行代码:
e.Handled = true;
但是,如上所述,继续执行应用程序可能会导致更多问题。所以我只会将它用于收集崩溃信息的场景,可能会向用户道歉,然后无论如何使用 App.Current.Terminate();
关于c# - 如何使用 Application_UnhandledException 捕获一般异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25980922/
我问的问题可能很简单,但我确定我在这里遗漏了一些东西 :D 我的 App.xaml.cs 文件中有以下方法: private void Application_UnhandledException(o
我有以下情况,其中 ViewModel 中引发的异常不会冒泡到 App.xaml.cs 中的 Application_UnhandledException。 我在 ViewModel 中有一个 Obs
我需要处理 App.xaml.cs 文件的 Application_UnhandledException 事件中的异常。我正在使用 e.ExceptionObject 获取异常对象。现在,我需要在 W
我是一名优秀的程序员,十分优秀!