I have added a global error handler at the AppDomain level to my C# application, by hooking into the UnhandledExceptionHandler event.
My problem is, that even though i am handling this exception, i still get the popup saying “App has stopped working”.
Is this normal behaviour? Can it be turned off? or maybe it is good practice to actually have this message displayed?
I don’t think is possible to recover the existing instance of an app when you get at that point. MSDN has no information about it and is suggested ” If sufficient information about the state of the application is available, other actions may be undertaken — such as saving program data for later recovery.” (link)
It kind of makes sense to not be able to recover. If you catch an exception in the Unhandled ExceptionHandler it means that your application was not able to deal with it so is your last chance to log what happened (for later investigations) or save the user’s data. It sounds like an architecture problem if the “unhandled” exception handler must “handle” exceptions and recover the app.
Why not recover by creating a new instance of the app? (or by using the Restart and Recovery feature)