Перехват Segfault или любых других ошибок / исключений / сигналов в C ++, например, перехват исключений в Java

Я написал программу для Linux на основе библиотеки с открытым исходным кодом, содержащей ошибки. Эта библиотека иногда вызывает ошибки сегментации, которые я не могу контролировать. И, конечно же, как только в библиотеке возникает ошибка, вся программа умирает. Однако я должен убедиться, что моя программа продолжает работать, даже если в библиотеке есть ошибки. Это потому, что моя программа как бы служит «сервером», и ей нужно, по крайней мере, сообщить клиентам, что случилось что-то плохое, и восстановиться после ошибок, а не пиздец ... Есть ли способ это сделать?

Я понимаю, что в Java просто нужно поймать исключение. Но как C ++ справляется с этим?

[UPDATE]I understand there is also exception handling in C++, but Segfault is not an exception, is it? I don't think anything is thrown when segfault happens. You have to explicitly "throw" something to use try.... catch.... as far as I know.

Thanks so much, I am quite new to C++.

9
задан Vendetta 15 May 2011 в 13:00
поделиться