【发布时间】:2013-08-20 08:34:59
【问题描述】:
MSDN 说,对于Thread.Abort 方法-
当在线程上调用此方法时,系统会在线程中抛出 ThreadAbortException 以中止它。 ThreadAbortException 是一种特殊的异常,可以被应用程序代码捕获,但除非调用 ResetAbort,否则会在 catch 块的末尾重新抛出。 ResetAbort 取消中止请求,并防止 ThreadAbortException 终止线程。未执行的 finally 块在线程中止之前执行。
所以异常只会从最直接的catch 块中抛出一次,还是从所有封装的catch 块中抛出一次?
另外,当说未执行的finally块被执行时,它是否包括完全未执行的块和部分执行的块?
【问题讨论】:
-
为什么不写一段代码试试看呢?
标签: c# multithreading threadabortexception