ThreadAbortException
ThreadAbortException is a special type of exception in the .NET Framework that indicates a thread has been aborted. It is thrown by the .NET runtime on a thread when the Abort() method is called on that thread. Unlike other exceptions, ThreadAbortException is not intended to be caught and handled by the application code in the typical way. The runtime re-throws ThreadAbortException at the end of every catch block that catches it, unless the thread terminates itself within that catch block. This behavior is designed to ensure that thread abortion happens reliably, even if the application attempts to suppress it.
The primary purpose of ThreadAbortException is to terminate a thread. When Abort() is called, the .NET runtime
Because of its special nature and the runtime's behavior of re-throwing it, developers are generally advised