Catch Segfault o cualquier otro error / excepción / señal en C ++ como capturar excepciones en Java

Escribí un programa de Linux basado en una biblioteca de código abierto con errores. Esta biblioteca a veces desencadena segfaults que no puedo controlar. Y, por supuesto, una vez que la biblioteca tiene valores predeterminados, todo el programa muere. Sin embargo, tengo que asegurarme de que mi programa siga ejecutándose incluso si la biblioteca tiene valores predeterminados. Esto se debe a que mi programa sirve como un "servidor" y necesita al menos decirles a los clientes que sucedió algo malo y recuperarse de los errores, en lugar de desahogarse ... ¿Hay alguna forma de hacerlo?

Entiendo que en Java uno solo necesita detectar una excepción. Pero, ¿cómo maneja esto C ++?

[ACTUALIZACIÓN] Entiendo que también hay manejo de excepciones en C ++, pero Segfault no es una excepción, ¿verdad? No creo que se arroje nada cuando se produce la falla predeterminada. Tienes que "arrojar" explícitamente algo para usar intentar ... atrapar ... hasta donde yo sé.

Muchas gracias, soy bastante nuevo en C ++.