I'm writing a little library which catches all unhandled exceptions, shows a little dialog (similar to the usual dialog of the NF) which gives the user the opportunity to send the exception to the developer. To do this, I use the UnhandledException-Event of the AppDomain like this:
app.UnhandledException += (object sender, UnhandledExceptionEventArgs e) =>
{
ExceptionHandler handler = new ExceptionHandler((Exception)e.ExceptionObject, ExEntry);
UnhandledExceptionListened(handler);
if (Properties.Settings.Default.ShowStandardExceptionDialog)
{
ExceptionDialog exdialog = new ExceptionDialog(handler);
exdialog.ShowDialog();
}
};
ExceptionHandler and ExEntry are Classes of my Library. But: If an Exception occurs, the compiler jumps into my Lambda-Expression, tries to debug the first line of code and then shows the error which occurred before without working off the rest of the lambda. But if I just write:
app.UnhandledException += (object sender, UnhandledExceptionEventArgs e) =>
{
ExceptionDialog exdialog = new ExceptionDialog(handler);
exdialog.ShowDialog();
};
it works perfectly. Has anyone an idea why this doesn't work?