Форум программистов, компьютерный форум 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 массивы внутри класса, я заменю все обычные глобальные массивы ? 2) В многомерные глобальные массивы у меня извлекаются данные из Базы данных(большие таблицы с кучей полей), правильно понимаю что без массивов тут не обойтись...
Обход графа в ширину C++
Подскажите, как во время обхода графа в ширину помечать вершины как четные и не четные?
C++ Почему delete не устанавливает автоматически указатель в NULL? http://www.cyberforum.ru/cpp-beginners/thread919782.html
Почему delete не устанавливает автоматически указатель в NULL?
C++ Умножение и деление Представьте себе числовой массив первым элементом равным begin. Если далее к нему мы будем прибавлять step пока не достигнем end то сформируем массив. Таким образом размер такого массива будет вычисляться по формуле size = static_cast<size_t>((end - begin) / step) + 1;а последний элемент можно будет найти по формуле last = min + step * (size - 1);Всё бы ничего но иногда отрезок делится на step... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14209 / 6224 / 987
Регистрация: 02.05.2013
Сообщений: 10,377
Завершенные тесты: 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), а затем в отладчике изучить ситуацию в ретроспективе.
 
Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru