0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 43
|
|
1 | |
.NET 4.x Не перехватывается ThreadAbortException25.08.2020, 22:08. Показов 1144. Ответов 6
Метки нет Все метки)
(
0
|
|
25.08.2020, 22:08 | |
Ответы с готовыми решениями:
6
ThreadAbortException не обработано Отловить ошибку System.Threading.ThreadAbortException ThreadAbortException- исключение, генерируемое при Abort; а где оно, собственно? Не перехватывается исключений |
![]() 6316 / 3935 / 1577
Регистрация: 09.05.2015
Сообщений: 9,237
|
|
25.08.2020, 22:11 | 2 |
Поток нормально завершите и не надо будет ничего перехватывать.
0
|
0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 43
|
||||||
25.08.2020, 23:32 [ТС] | 3 | |||||
Извиняюсь, случайно создал тему, не завершив описание.
Функция, выполняемая в отдельном потоке использует следующую конструкцию:
Добавлено через 1 час 7 минут Обнаружил, что не перехватываются вообще никакие исключения внутри функции calculateAll
0
|
![]() 6316 / 3935 / 1577
Регистрация: 09.05.2015
Сообщений: 9,237
|
||||||
25.08.2020, 23:58 | 4 | |||||
Вы сами себе противоречите... Что мешает в самый глубокий цикл запихнуть
0
|
0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 43
|
|
26.08.2020, 13:30 [ТС] | 5 |
Мешает то, что поток может надолго повиснуть во многих местах, и если я начну раскидывать туда флаги, то наверняка что-то упущу. Кроме того, там достаточно сложная логика, и флаги придется выставлять не только в циклах, но и во всех функциях, которые находятся выше по иерархии. С таким подходом прерывание по флагу может само по себе привести к вылету, если я поставлю флаги не везде. Тут дело в том, что изначально этот класс не планировалось запускать в отдельном потоке, но вычисления занимают достаточно много времени, и это вынужденная мера.
Я выяснил, что проблема не в коде, а в самой вижуалке, т.к. если запускать вне её, то прога не падает и все работает корректно
0
|
![]() 6316 / 3935 / 1577
Регистрация: 09.05.2015
Сообщений: 9,237
|
|
26.08.2020, 13:36 | 6 |
![]() Решение
Так может и нет проблемы? VS останавливается на исключениях, выбранных в настройках отладчика независимо от того перехватываете вы их или нет.
1
|
0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 43
|
|
26.08.2020, 14:33 [ТС] | 7 |
0
|
26.08.2020, 14:33 | |
Помогаю со студенческими работами здесь
7
OnKeyDown формы перехватывается кнопкой Почему не перехватывается исключение типа double? Буфер обмена, перехватывается микрософтовскими программами не перехватывается исключение, хоть по книге c++ за 21 день и должно Почему в async void методе не перехватывается исключение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |