MSDN说,对于Thread.Abort
方法 -C# - ThreadAbortException重新抛出
当此方法是在一个线程调用,系统抛出线程一个ThreadAbortException中止它。 ThreadAbortException是一个特殊的异常,可以被应用程序代码捕获,但在catch块的末尾被重新抛出,除非调用ResetAbort。 ResetAbort取消中止请求,并阻止ThreadAbortException终止线程。在线程被中止之前,最终未执行的块将被执行。
因此,从最直接的catch
块或从所有封装catch
块只会抛出一次异常? 另外,当说未执行的finally
块被执行时,它是否包含完全未执行的块和部分执行的块?
你为什么不写一段代码试试? – Ehsan