ThreadAbortException- исключение, генерируемое при Abort; а где оно, собственно? - C#
Формулировка задачи:
Да, где?
...Вот изучил многопоточность у Гербердта Шилдта. Он пишет (про прерывание потоков):
В msdn примерно то же самое
А вот код. Я ничё тут не перехватываю, я жду что всё будет рушиться а ось будет выдавать на-гора страшные надписи типа "произошло необработанное исключение " и всё в таком роде. Но поток прерывается тихо-мирно. Вот собсно и всё. Как бы мне понаблюдать за действием НЕОБРАБОТАННОГО исключения, к которому я (и думаю не один я) привык? А то я уж сомневаюсь- а есть ли оно?
"Метод Abort () создает необходимые условия Для генерирования исключения
ThreadAbortException в том потоке, для которого он был вызван. Это исключение
приводит к прерыванию потока и может быть перехвачено и в коде программы... и так далее "
// Прервать поток с помощью метода Abort(). using System; using System.Threading; class StopDemo { static public void Run() { while (true) Thread.Sleep(250); } static void Main() { Thread Thrd = new Thread(Run); Thrd.Start(); Console.WriteLine("Подождём"); Thread.Sleep(1000); Thrd.Abort(); Thrd.Join(); // ожидать прерывания потока Console.WriteLine("Основной поток прерван"); } }
Решение задачи: «ThreadAbortException- исключение, генерируемое при Abort; а где оно, собственно?»
textual
Листинг программы
static public void Run() { try { while (true) Thread.Sleep(250); } catch (ThreadAbortException) { Console.WriteLine("Aborted"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д