Мне нужно поймать деление целых чисел на ноль и нарушить доступ к чтению или записи в защищенную память, отобразить мой собственный диалог и сделать что-то подходящее.Эти исключения не могут быть перехвачены механизмом try {} catch {}, так как аппаратные средства генерируют эти исключения.Как я могу ловить там исключения?Любые предложения или ссылки на соответствующие статьи приветствуются mr.abzadeh
См. Документацию для механизма __try / __except.Это используется в Windows для перехвата аппаратных исключений.
__try
__except
Существует очень простой способ отловить любое исключение (деление на ноль, нарушение доступа и т. Д.) В Visual Studio с помощью блока try -> catch (...) :)
Достаточно незначительной настройки проекта. Просто включите опцию / EHa в настройках проекта. См. Свойства проекта -> C / C ++ -> Генерация кода -> Установите для параметра Разрешить исключения C ++ значение «Да с исключениями SEH» . Вот и все!
Подробности здесь: http://msdn.microsoft.com/en-us/library/1deeycx5(v=vs.80).aspx
Странно, что нет возможности отловить эти исключения. но если это так, то, я думаю, вы можете поставить свои собственные проверки и выбросить свои собственные исключения. Но опять же, вы можете что-то упустить ...