winform下可以有两种方式来处理未捕捉的异常:
1.通过挂接Application.ThreadException 事件来处理未捕捉的异常。
2.通过挂接AppDomain.UnhandledException事件来处理未捕捉的异常。
下面谈谈这两种处理方式的区别:
a.如果这两种事件都挂的话,则优先处理ThreadException事件,会忽略UnhandledException事件,而且程序也不会退出。
b.如果在默认AppDomain里只挂UnhandledException事件的话,所有的线程异常都会引发此事件,不管线程是否在默认AppDomain中(其他AppDomain
中)。如果线程所在的AppDomain里也挂了UnhandledException事件的话,则两个AppDomain里的事件都会引发。