Начнём с того, какой средой разработки мы пользуемся и какой у нас в действительности язык. Си или Си-плюс-плюс. В том случае, если у нас таки С++ и Microsoft Visual Studio, то решение проблемы заключается в следующем:
В свойствах проект указываем:
C/C++ > Code Generation > Enable C++ Exceptions > Yes with SEH Exceptions (/EHa)
В каждом потоке, включая основной при инициализации вызываем функцию _set_se_translator, в которую передаём лямбда-функцию обработки системных исключений.
В других средах ищем нечто подобное.
И самое главное, чтобы программа не падала не забываем а) про try…catch(…) б) что подобные ошибки требуют устранения причины на этапе разработки.