Use the Application.DispatcherUnhandledException Event
. See this question for a summary (see Drew Noakes’ answer).
Be aware that there’ll be still exceptions which preclude a successful resuming of your application, like after a stack overflow, exhausted memory, or lost network connectivity while you’re trying to save to the database.