MSDNによると、Thread.Abort
メソッドについて-
このメソッドがスレッドで呼び出されると、システムはスレッドで ThreadAbortException をスローしてスレッドを中止します。ThreadAbortException は、アプリケーション コードでキャッチできる特別な例外ですが、ResetAbort が呼び出されない限り、catch ブロックの最後で再スローされます。ResetAbort は中止要求をキャンセルし、ThreadAbortException がスレッドを終了させないようにします。未実行の finally ブロックは、スレッドが中止される前に実行されます。
したがって、例外は、最も直接のcatch
ブロックから、またはすべてのカプセル化catch
ブロックから 1 回だけスローされますか? また、未実行finally
のブロックが実行されるとは、完全に未実行のブロックと部分的に実行されたブロックの両方を含みますか?