Я получил следующий код из книги «Параллельное программирование в Windows»:
void Main()
{
try
{
try
{
Console.WriteLine("Inside Main Method");
Thread.CurrentThread.Abort();
}
catch(ThreadAbortException)
{
Console.WriteLine("Inside First Catch");
// Trying to swallow but CLR throws it again....
}
}
catch(ThreadAbortException)
{
Console.WriteLine("Inside Second Catch");
//Thread.ResetAbort();
}
}
Мне интересно узнать, почему CLR повторно генерирует исключение ThreadAbortException? И он продолжает делать это, пока я не вызову «Thread.ResetAbort ()». Во-вторых, существует ли какое-либо другое системное исключение, которое получает особую обработку от CLR?