我有一個winforms應用程序.Winforms從Program.cs開始,我們有main()定義的地方。我把這段代碼放在try-catch塊中。爲什麼win32異常沒有被C#異常處理機制捕獲
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmSplash());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
if (ex.InnerException != null)
{
MessageBox.Show(ex.InnerException.ToString());
}
}
}
無論何時出現win32異常,此機制都會失敗並引發未處理的異常消息,並導致應用程序崩潰。
我對此代碼有兩個問題:
1)爲什麼win32異常沒有被捕獲。
2)在最高級別捕捉異常是一種好的做法。
哇,我從來沒有真的想到這個,好問題和良好的答案:) – leppie 2009-07-30 09:35:32
請在第二個問題上也評論。 – Rohit 2009-07-30 09:49:38
也許你可以讓它成爲第二個SO問題;-) – Mac 2009-07-30 12:02:04