170 похожих чатов

Привет. Такой вопрос. Хочу глобально отловить эксепшены которые могут случится

в моей программе. Подскажите пожалуйста как мне лучше всего это сделать ? проблема в том что эксепшены могут быть любые и мне нужно их как то обратотатьб, что бы вывести код ошибки и причину. Желательно без использования __try, __except.

13 ответов

9 просмотров

Что значит "глобально"?

обрабатывать исключения да ещё и без try ? Интересненько. main() try { ... } catch( ... ) { } (это не прикол оно так работает)

Вы ЯП не указали. В любом случае следует смотреть исходники логера или тестового фреймворка так как там нет простого способа.

Konstantin Malovanyk- Автор вопроса
Kirill Bolshakov
Что значит "глобально"?

у меня плагин, у моего плагина есть точка входа в программу, тип main(не суть), и вот в этом методе у меня все вызовы моего плагина, я их хочу обернуть в try,catch

Konstantin Malovanyk- Автор вопроса
Konstantin Malovanyk- Автор вопроса
Kirill Bolshakov
Ну дак и в чем проблема?

как мне обернуть что бы я смог получить код ошибки и описание что то вроде такого: catch(std::exception& ex) // только сдесь может быть что угодно, помимо std::exception { ex.what(); }

Konstantin Malovanyk
как мне обернуть что бы я смог получить код ошибки...

Если хочешь код ошибки, то лови по типу, который содержит код ошибки

Konstantin Malovanyk- Автор вопроса
Kirill Bolshakov
Если хочешь код ошибки, то лови по типу, который с...

access violation reading location, к примеру у меня вот такой unhandled exception. Как быть ?

Konstantin Malovanyk
access violation reading location, к примеру у мен...

Это seh, его можно только по (...) поймать, либо через try except

Nikita Skiba
set_unhandled еще есть

Как оно словит SEH/сигнал ОС?

https://www.codeproject.com/articles/207464/exception-handling-in-visual-cplusplus вот статья хорошая

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта