Поделиться через


Аппаратные исключения

Большинство стандартных исключений, распознаваемых операционной системой оборудование-определенные исключения.Окна распознают несколько низкоуровневых исключений программного обеспечения, но это обычно лучше всего обрабатываются операционной системой.

Окна сопоставить аппаратные исключения к Кодам ошибок разных процессоров в этом разделе.В некоторых случаях процессор может формировать только подмножество этих исключений.Окна предварительно обрабатывает сведения об исключении и проблемах соответствующий Код исключения.

Аппаратные исключения, распознаваемые окнами перечислены в следующей таблице:

Код исключения

Причина исключения.

STATUS_ACCESS_VIOLATION

Чтение или запись в труднопоступному расположение в памяти.

STATUS_BREAKPOINT

Оборудование-определенная обнаружении точки останова. используется только отладчиками.

STATUS_DATATYPE_MISALIGNMENT

Чтение или запись данных по адресу, неправильно выравниваются; например, выравнивание 16-битные сущности необходимо 2 байта в диапазоне.(Неприменимо к Intel 80x86 процессоров.)

STATUS_FLOAT_DIVIDE_BY_ZERO

Секционирование тип с плавающей запятой длиной 0,0.

STATUS_FLOAT_OVERFLOW

Превышение максимальной степени положительной типа с плавающей запятой.

STATUS_FLOAT_UNDERFLOW

Значение превышающ самой низкой отрицательной степени плавающей запятой введите.

STATUS_FLOATING_RESEVERED_OPERAND

Использование зарезервированных формат плавающей запятой (недопустимую использование формата).

STATUS_ILLEGAL_INSTRUCTION

Попытка выполнить Код инструкции не определен процессором.

STATUS_PRIVILEGED_INSTRUCTION

Выполнение инструкции не разрешена в текущем режиме компьютера.

STATUS_INTEGER_DIVIDE_BY_ZERO

Секционирование тип целого числа 0.

STATUS_INTEGER_OVERFLOW

Попытка операцию, превышает диапазон целого числа.

STATUS_SINGLE_STEP

Одна инструкция выполняется в режиме единый-этапа; используется только отладчиками.

Большинство исключений, перечисленные в предыдущей таблице должны обрабатываться отладчиками, операционной системой или другим низкоуровневым Кодом.За исключением ошибок целых числа и плавающей запятой, Код не должен обрабатывать эти ошибки.Таким образом, следует чаще всего использовать фильтр обработки ошибок для игнорирования исключения (вычисление до 0).В противном случае можно помешать механизмы низк-уровня из ответа.Однако можно предпринять соответствующие меры предосторожности против потенциального влияния этих низкоуровневых ошибок by обработчики завершения записи.

См. также

Ссылки

Написать обработчик исключений

Структурная обработка исключений (C++)