Ho un'applicazione winforms.Winforms inizia con Program.cs dove abbiamo definito main(). Ho inserito questo codice nel blocco try-catch.Perché l'eccezione win32 non viene catturata dal meccanismo di gestione delle eccezioni 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());
}
}
}
Ogni volta che c'è un'eccezione win32, questo meccanismo fallisce e il messaggio di eccezione non gestita viene gettato e crash dell'applicazione.
Ho 2 domande riguardanti questo codice:
1) Perché le eccezioni di win32 non vengono catturate.
2) È buona norma rilevare le eccezioni al massimo livello.
Wow, non ho mai veramente pensato a questo, buona domanda e buone risposte :) – leppie
Si prega di commentare anche la seconda domanda. – Rohit
Forse potresti fare una seconda domanda SO ;-) – Mac