

This value is defined as STATUS_INVALID_DISPOSITION. Programmers using a high-level language such as C should never encounter this exception. This value is defined as STATUS_INTEGER_OVERFLOW.Īn exception handler returns an invalid disposition to the exception dispatcher. Some operations do not set the carry flag. In some cases, this will result in a carry out of the most significant bit of the result. The result of an integer operation creates a value that is too large to be held by the destination register. This value is defined as STATUS_INTEGER_DIVIDE_BY_ZERO. The thread attempts to divide an integer value by an integer divisor of 0 (zero).

This value is defined as STATUS_IN_PAGE_ERROR. For example, this exception might occur if a network connection is lost while running a program over a network. The thread tries to access a page that is not present, and the system is unable to load the page. This value is defined as STATUS_ILLEGAL_INSTRUCTION. The thread tries to execute an invalid instruction.

This value is defined as STATUS_GUARD_PAGE_VIOLATION. The thread accessed memory allocated with the PAGE_GUARD modifier. This value is defined as STATUS_FLOAT_UNDERFLOW. The exponent of a floating point operation is less than the magnitude allowed by the corresponding type. This value is defined as STATUS_FLOAT_STACK_CHECK. The stack has overflowed or underflowed, because of a floating point operation. This value is defined as STATUS_FLOAT_OVERFLOW. The exponent of a floating point operation is greater than the magnitude allowed by the corresponding type. This value is defined as STATUS_FLOAT_INVALID_OPERATION. This value is defined as STATUS_FLOAT_INEXACT_RESULT.Ī floating point exception that is not included in this list. The result of a floating point operation cannot be represented exactly as a decimal fraction. This value is defined as STATUS_FLOAT_DIVIDE_BY_ZERO. The thread attempts to divide a floating point value by a floating point divisor of 0 (zero). This value is defined as STATUS_FLOAT_DENORMAL_OPERAND.

A denormal value is one that is too small to represent as a standard floating point value. One of the operands in a floating point operation is denormal. This value is defined as STATUS_DATATYPE_MISALIGNMENT. For example, 16-bit values must be aligned on 2-byte boundaries, 32-bit values on 4-byte boundaries, and so on. The thread attempts to read or write data that is misaligned on hardware that does not provide alignment. This value is defined as STATUS_BREAKPOINT. This value is defined as STATUS_ARRAY_BOUNDS_EXCEEDED.Ī breakpoint is encountered. The thread attempts to access an array element that is out of bounds, and the underlying hardware supports bounds checking. This value is defined as STATUS_ACCESS_VIOLATION. The thread attempts to read from or write to a virtual address for which it does not have access. These values are defined in WinBase.h and WinNT.h. The following table identifies the exception codes that can occur due to common programming errors. The return value identifies the type of exception. The Microsoft C/C++ Optimizing Compiler interprets this function as a keyword, and its use outside the appropriate exception-handling syntax generates a compiler error.
