硬件异常
操作系统识别的大多数标准异常是硬件定义的异常。 窗口识别某些低级别软件异常,但是,操作系统通常是最佳处理的这些。
windows 映射不同的处理器硬件错误。本节中的异常代码。 有时,处理器可以生成这些异常的一个子集。 窗口预处理有关异常的信息并发出相应的异常代码。
窗口识别的硬件异常下表中总结:
异常代码 |
异常的原因 |
---|---|
STATUS_ACCESS_VIOLATION |
读取或写入不可访问的内存位置。 |
STATUS_BREAKPOINT |
遇到硬件上定义的断点;仅使用由调试器。 |
STATUS_DATATYPE_MISALIGNMENT |
读取或写入数据在没有正确对齐的地址;例如,在 2 字节边界对齐方式必须 16 位实体。 (不适用于 80x86 Intel 处理器。) |
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)。 否则,可以防止底部结构适当响应。 可以,但是,通过 编写终止处理程序采用这些低级别错误的潜在影响的相应措施。