У меня есть специальный класс исключения для моей библиотеки. Я хотел бы знать, должен ли я регистрировать обработчик SEH и улавливать исключения процессора, такие как нарушение доступа, незаконное указание, деление на ноль. Затем я могу сообщить об этом клиенту моей библиотеки, что произошло исключение CPU.Должен ли я регистрировать обработчик SEH и улавливать исключения процессора в моей библиотеке?
ответ
Если вы не пишете определенную связанную с системой библиотеку, которая действительно требует этого, вы не должны регистрировать обработчики SEH. Если вы это сделаете, вы скрываете ошибки в приложении.
Первое правило не должно обрабатывать исключения SEH и разрешать приложению делать это по мере их настройки.
Но если вы ожидаете, что программа может произойти сбой из-за исключения при вызове вашей библиотеки (например, поскольку она вызывает внешний API, который, как вы знаете, может вызвать исключение), вы должны оценить, стоит ли его поймать они должны предпринять какие-либо действия (например, сообщить об ошибке). Но в этом случае ограничьте область защиты исключений и фильтр, насколько это возможно.
Если системные исключения вызваны вашим собственным кодом, он не должен быть скрыт, и их следует исправить в ближайшее время.
Я думаю, что это вопрос Windows, который является C++. – Gonmator