Вопросы к Поиску с Алисой
В C++ существуют две основные стратегии обработки ошибок: habr.com
Для обработки исправимых ошибок предпочтительнее использовать исключения, так как они заставляют вызывающий код распознавать условие ошибки и обрабатывать его. learn.microsoft.com Необработанные исключения останавливают выполнение программы. learn.microsoft.com
Для обработки неисправимых ошибок можно использовать утверждения (assert()) и функцию abort(). habr.com learn.microsoft.com
Также слой обработки ошибок должен быть чётко отделён от слоя бизнес-логики приложения. www.cyberforum.ru