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

Правильная обработка внештатных ситуаций - C++

Восстановить пароль Регистрация
 
Plusic
 Аватар для Plusic
1 / 1 / 0
Регистрация: 26.07.2012
Сообщений: 26
26.09.2013, 22:00     Правильная обработка внештатных ситуаций #1
Как правильно обработать внештатные ситуации, например ОС послала запрос на закрытие процесса или же пользователь решил убить процесс, как я понимаю все внутренне ошибки обрабатывать в try catch, а внештатные ситуации будут попадать в catch ? ведь например если не найден обработчик то вызывается std::terminate и по сути это и есть аварийное завершение работы? как правильно отследить что пришло из вне, а что послала ос, или пользоваться сишными сигналами? Так же интересны тематические источники, где можно узнать что-нибудь новое.

Добавлено через 6 часов 44 минуты
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 22:00     Правильная обработка внештатных ситуаций
Посмотрите здесь:

C++ Обработка исключительных ситуаций
Обработка исключительных ситуаций. C++
Обработки исключительных ситуаций C++
C++ Обработка исключительных ситуаций
Обработка исключительных ситуаций C++
C++ Обработка исключительных ситуаций!
C++ Не правильная обработка массивов
Обработка исключительных ситуаций C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
27.09.2013, 13:35     Правильная обработка внештатных ситуаций #2
С чего вы взяли что это
ОС послала запрос на закрытие процесса или же пользователь решил убить процесс
внештатная ситуация ??
Plusic
 Аватар для Plusic
1 / 1 / 0
Регистрация: 26.07.2012
Сообщений: 26
27.09.2013, 16:27  [ТС]     Правильная обработка внештатных ситуаций #3
Цитата Сообщение от egor2116 Посмотреть сообщение
С чего вы взяли что это внештатная ситуация ??
а разве нет? у нас есть демон он выполняет задачу, а тут что-то случилось не зависящее от программы(и не внутри программы) и ос послала сигнал завершения, или же пользователь взял и просто во время обработки написал kill <pid> - и программа так же не по своему желанию взяла и завершила работу? разве это не внештатные ситуации для программы, а если программа должна выполнять транзакции. Я понимаю что можно обработать сигнала sigterm для таких случаев, но может есть механизмы с++, например исключения, но исключениями у меня не получилось поймать, они лишь спасают от ошибок которые произошли в самой программе, это и логично.

Добавлено через 1 минуту
может я что то путаю, тогда объясни или скажи где прочитать
Yandex
Объявления
27.09.2013, 16:27     Правильная обработка внештатных ситуаций
Ответ Создать тему
Опции темы

Текущее время: 14:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru