Портабельно обрабатывать исключительные ошибки в C + +

я работаю на портировании приложения Visual C GCC (должно опираться на MingW и Linux).

существующий код использует __try { ... } __except(1) { ... } блоки в несколько мест, так что почти ничего не хватает, может быть, из памяти тип ошибки?) бы сделать выход из программы без выполнения какой-то минимальный журнала.

Какие возможности сделать нечто подобное с помощью GCC?

Edit: Спасибо за указатель /EH параметры в Visual Studio, что мне нужно теперь-это некоторые примеры того, как обрабатывать сигналы на Linux. Я нашел это сообщение от 2002 года.

то, Что другие сигналы, кроме SIGFPE и SIGSEVG я должен остерегаться? (В основном заботятся о тех, которые могут быть подняты из мне делаю что-то неправильно)

Bounty Информации:Я хочу, чтобы мое заявление, чтобы быть в состоянии самостоятельно журнала, как многие ошибки условия как можно раньше, до того, как он выходит.

Какие сигналы я мог бы получить и которые, как правило, будет невозможно в журнал сообщение об ошибке после? (Из памяти, что еще?)

Как я могу обрабатывать исключения, и (самое главное) сигналы переносимым способом, что код, по крайней мере, таким же образом работает на Linux и MingW. #ifdef в порядке.

причина, По которой я не просто процесс оболочки, который регистрирует ошибки в том, что по причинам производительности, я сохранить написание некоторых данных на диск до последней минуты, так что если что-то пойдет не так, я хочу приложить все возможные попытки записи данных перед выходом.

Найдено 5 ответов:

Portably handle exceptional errors in C++

http://stackoverflow.com/questions/39222/portably-handle-exceptional-errors-in-c

Посмотреть решение →