Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Правильное завершение потока при фатальной ошибке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сервис http://www.cyberforum.ru/cpp-beginners/thread919827.html
у меня есть приложение, которое делает скрин монитора и отправляет подключенным к нему компам Но проблема стоит в следующем когда я запускаю это приложение как сервис то все скрины черные. как тут...
C++ Как сложить ряд чисел? Даны натуральное число n, действительные числа {a}_{1},...,{a}_{n}. Вычислить {a}_{1}+,...,+{a}_{n} . http://www.cyberforum.ru/cpp-beginners/thread919821.html
C++ Классы с++ vs глобальные массивы
Изучаю с++ классы и хочу уточнить такие моменты В моей проге используется куча много мерных глобальных массивов 1) Правильно понимаю что используя классы и static массивы внутри класса, я...
Обход графа в ширину C++
Подскажите, как во время обхода графа в ширину помечать вершины как четные и не четные?
C++ Почему delete не устанавливает автоматически указатель в NULL? http://www.cyberforum.ru/cpp-beginners/thread919782.html
Почему delete не устанавливает автоматически указатель в NULL?
C++ Умножение и деление Представьте себе числовой массив первым элементом равным begin. Если далее к нему мы будем прибавлять step пока не достигнем end то сформируем массив. Таким образом размер такого массива будет... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15618 / 7127 / 1128
Регистрация: 02.05.2013
Сообщений: 11,567
Записей в блоге: 1
Завершенные тесты: 1
09.07.2013, 10:17
Structured Exception Handling
Vectored Exception Handling

/EH (Exception Handling Model)

SetUnhandledExceptionFilter
_set_abort_behavior
_set_invalid_parameter_handler
_set_purecall_handler
set_terminate
set_unexpected
signal

Добавлено через 10 часов 21 минуту
Но вообще, строить архитектуру программы по такому принципу выживания, как Вы описали -
это очень плохая практика. Здесь может происходить прокидывание ошибки: вместо того,
чтобы быть обнаруженной по месту, ошибка маскируется и, как это частенько бывает,
проникает в другие компоненты, например в результате порчи каких-то данных.
То есть, распостраняет свою "заразу" дальше. И рано или поздно приложение все равно
завершается аварийно, только теперь совсем в другом месте и с совсем другими симптомами.
Часто после такого поворота событий вообще не понятно, из-за чего приложение падает и
где искать причину, а само падение фантомное, воспроизвести его или проследить точку, в
которой все началось, уже не удается.

Поэтому если программа падает - лучше дать ей упасть. Но при этом сохранить максимально
полную информацию о причине падения, коды ошибок, GetLastError и т.п. Также можно снять
крэш-дамп (MiniDumpWriteDump), а затем в отладчике изучить ситуацию в ретроспективе.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru