14. März 2007

Uncaught-Exceptions in WinForms-Anwendungen

static void Main()
{
// Für nicht abgefangene Exceptions aus dem ApplicationThread einen
// eigenen Exception-Handler definieren

Application.ThreadException += new
System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

try
{
MainFormController controller = new MainFormController();
Application.Run(controller.View);
}

// Exceptions können auch schon währrend new MainFormController()
// auftreten, daher müssen diese auch schon abgefangen werden
catch (Exception ex)
{
ShowExceptionDialog("Main",ex);
}
}


private static void Application_ThreadException(object sender,System.Threading.ThreadExceptionEventArgs e)
{
// Diese Methode wird aufgerufen, wenn eine Exception nicht behandelt wurde
ShowExceptionDialog(sender,e.Exception);
}

Keine Kommentare: