|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.03.2015, 20:11 | #1 |
Пользователь
Регистрация: 20.03.2015
Сообщений: 10
|
Вопрос насчет исключений
Хочу уточнить насчет исключений, т.к. не особо часто ими пользовался. Вот в классе есть у нас исключения, но нету блоков try. Мне нужно чтобы если будет исключение ни в коем случае не завершать программу, и не выдавать никаких окон, но просто можно ставить переменную что исключение было, и завершать выполнение потока, в котором работает данный класс. Если нету блоков try а только throw то как это организовать? То есть мне нужно каждый раз когда выдается исключение завершать текущий поток, и поставить bool переменную что поток не работает. Как посоветуете это сделать? В крайнем случае придется вместо throw подставлять этот код...
|
21.03.2015, 20:55 | #2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Мы не сможете обработать исключение без try/catch
|
21.03.2015, 23:52 | #3 |
Пользователь
Регистрация: 20.03.2015
Сообщений: 10
|
ну тогда что даёт throw?
|
22.03.2015, 00:01 | #4 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
throw выбрасывает исключение. Функцию, которая содержит throw, нужно помещать в блок try, а в catch писать обработчик-перехватчик
Код:
Можно везде использовать, например, std::runtime_error, но лучше по близкому значению. А ещё лучше писать свои классы исключений. Лично я пока вообще без исключений обхожусь. Хотя штука удобная, но почему-то большинсво не использует исключения, как мне кажется Последний раз редактировалось Stilet; 22.03.2015 в 09:29. |
22.03.2015, 00:27 | #5 |
Пользователь
Регистрация: 20.03.2015
Сообщений: 10
|
хм, ладно, я в общем вместо throw тогда напишу завершение потока, т.к. из класса ведь нельзя просто return NULL написать )
но я не тестировал, наверное само по себе исключение завершит поток, хотя если их не использую то лучше и вовсе убрать. Меня еще сейчас волнует вопрос, насколько достоверен будет результат функции GetExitCodeThread != STILL_ACTIVE (проверка жив ли поток по его хэндлу) |
22.03.2015, 00:31 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
try catch внезапно можно использовать не только внутри метода/класса с throw.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
22.03.2015, 00:45 | #7 |
Пользователь
Регистрация: 20.03.2015
Сообщений: 10
|
Мне просто нужно чтоб не было сообщений про исключения, если будет throw, ну выскакивающих алертов и т.д.
|
22.03.2015, 01:13 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну и поставьте try catch в том месте, где эти методы класса используете. Или на весь код потока раз просто завершить надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 22.03.2015 в 10:19. |
22.03.2015, 01:14 | #9 | |
Пользователь
Регистрация: 20.03.2015
Сообщений: 10
|
Если в классе исключение срабатывает, то вся программа завершается, а меня это не устраивает... мне нужно чтобы завершался только поток... поэтому я создаю объект класса в потоке, но в самом классе прерыванием всё равно вызывает завершение всей программы ((( так что throw придется убирать... жаль что нельзя без try словить все throw... а то они разбросаны по всему классу
Цитата:
всем спасибо. Последний раз редактировалось cooljedi; 22.03.2015 в 01:30. |
|
22.03.2015, 09:23 | #10 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Цитата:
Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос насчет издания игр | koljsch | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 14 | 15.08.2013 08:08 |
Вопрос насчет автоматического распределения по категориям.. | mydomen | Помощь студентам | 5 | 30.01.2013 14:36 |
VBA вопрос насчет ComboBox | qert | Microsoft Office Excel | 11 | 09.12.2009 17:20 |
Вопрос насчет функции sort | TOLIK111 | Общие вопросы C/C++ | 1 | 06.12.2009 15:57 |
Вопрос насчет курсоров и печати изображения | Romich | Общие вопросы Delphi | 10 | 11.06.2009 02:05 |