하드웨어 예외

대부분의 운영 체제에서 인식 하는 표준 예외 하드웨어 정의 예외입니다.Windows는 몇 가지 저수준 소프트웨어 예외를 인식 하지만이 가장 일반적으로 운영 체제에 의해 처리 됩니다.

Windows 예외 코드가이 섹션에서 다른 프로세서의 하드웨어 오류를 매핑합니다.경우에 따라 이러한 예외 중 일부만 프로세서를 생성할 수 있습니다.Windows는 예외에 대 한 정보를 전처리 하 고 적절 한 예외 코드를 발급 합니다.

Windows에서 인식할 수 있는 하드웨어 예외는 다음 표에 요약 되어 있습니다.

예외 코드

예외의 원인

STATUS_ACCESS_VIOLATION

읽기 또는 쓰기 액세스할 수 없는 메모리 위치로 작업입니다.

STATUS_BREAKPOINT

하드웨어 정의 중단점을 찾을; 만 디버거에서도 사용 됩니다.

STATUS_DATATYPE_MISALIGNMENT

읽기 또는 데이터는 올바르게 정렬 되지 않은 주소에 쓰기. 예를 들어, 16 비트 엔티티 2 바이트 경계에 정렬 되어야 합니다.(인텔 80에 적용할 수 없습니다xx86 프로세서입니다.)

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으로 평가) 예외를 무시 하도록 사용 해야 합니다.그렇지 않은 경우 하위 수준 메커니즘을 적절 하 게 응답 하지 않을 수 있습니다.그러나 낮은 수준의 오류에서 발생할 수 있는 효과 대해 적절 한 예방 조치를 취할 수 종료 처리기 작성.

참고 항목

참조

예외 처리기를 작성합니다.

구조적된 예외 처리 (C++)