Catching unhandled exception on separate threads

后端 未结 3 2116
隐瞒了意图╮
隐瞒了意图╮ 2020-11-28 12:34

I am using the following event to catch unhandled exceptions in the main UI thread.

Application.ThreadException 

Unfortunately, it does not

3条回答
  •  情深已故
    2020-11-28 13:11

    Of course you should always handle all exceptions. But if you are currently incapable of doing so, you can try the following:

    The application will crash/close after the UnhandledException event handler. You can just add a delay in the event handler to prevents this. Other threads with no exception (e.g. the main thread) can continue. So the application will not close and can continue. However, the thread with the exception will remain in sleep. And therefor you may get a "memory/thread leak".

        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            // Log the exception, display it, etc
            Debug.WriteLine((e.ExceptionObject as Exception).Message);
            Thread.Sleep(100000000);
        }
    

    At this moment there is not a better solution. You may find to change the config file, but i think that is just as dirty: https://stackoverflow.com/a/15348736

提交回复
热议问题