Почему исключение win32 не перехватывается механизмом обработки исключений c #
У меня есть приложение winforms.Winforms начинаются с Program.cs, где мы определили main (). Я поместил этот код в блок try-catch.
[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, этот механизм завершается сбоем, выдается необработанное сообщение об исключении и происходит сбой приложения.
У меня есть 2 вопроса относительно этого кода:
1) Почему win32 исключения не ловятся.
2) Это хорошая практика, чтобы ловить исключения на самом высоком уровне.