我要問的東西是probabily很簡單,但我敢肯定,我在這裏的東西:d如何使用Application_UnhandledException來捕獲一般異常?
我在App.xaml.cs文件中的下列方法:
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
MessageBox.Show("An error occurred!", ":(", MessageBoxButton.OK);
e.Handled = true;
App.Current.Terminate;
}
而事件處理程序在應用程序中添加()方法:
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等等......
謝謝! :)
當您將try/catch包裝在代碼中並在catch中重新拋出時會發生什麼例外。 – 2014-09-22 19:13:49
什麼也沒有發生,我得到相同的IndexOutOfRange異常,並且Application_UnhandledException不會被觸發。 – Sergio0694 2014-09-22 19:52:57
代碼是否包含在異步函數中? – 2014-09-22 20:44:31