我一直在尋找Windows API代碼包1.1,並看到一個錯誤示例,並希望將它集成到我的應用程序中,主要想法將是它顯示是否有任何錯誤應用程序發生,沒有任何,但我選擇一些。當發生異常時顯示窗體C#
我該如何編程?
我使用WPF
感謝
我一直在尋找Windows API代碼包1.1,並看到一個錯誤示例,並希望將它集成到我的應用程序中,主要想法將是它顯示是否有任何錯誤應用程序發生,沒有任何,但我選擇一些。當發生異常時顯示窗體C#
我該如何編程?
我使用WPF
感謝
在你的應用類中添加的構造函數:
DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(App_DispatcherUnhandledException);
然後添加一個方法類似App類執行以下操作:
void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
if (MessageBox.Show("An unexpected error has occurred. You should exit this program as soon as possible.\n\n" +
"Exit the program now?\n\nError details:\n" + e.Exception.Message,
"Unexpected error", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
Shutdown();
}
你可以在你的程序將顯示有關錯誤的詳細信息形式的頂級的catch塊。或者,您可以使用Application.UnhandledException(假設您使用winforms),Application.ThreadException和AppDomain.UnhandledException來捕獲未處理的異常。
如果您希望在發生任何異常時處理消息窗口,或者不處理,那麼您必須在每個catch塊中顯式編寫代碼以顯示窗體,或者使用類似PostSharp的代碼編寫代碼顯示每當引發異常時的表單。
你能夠給使用WPF的例子嗎?謝謝 – 2010-09-05 19:59:27
我還沒有做WPF,所以我在微軟的網站上發現了這個:http://msdn.microsoft.com/en-us/library/ms743714.aspx#Unhandled_Exceptions – siride 2010-09-05 20:05:14
嗨,你能展示它如何看起來像由於program.cs不在文件結構中,因此它是WPF應用程序。 – 2010-09-05 19:47:52
非常感謝! – 2010-09-30 21:22:56