2023年1月

简介

STATUS_FLOAT_INVALID_OPERATION---浮点数无效操作。值为0xC0000090。其定义如下

//
// MessageId: STATUS_FLOAT_INVALID_OPERATION
//
// MessageText:
//
// {EXCEPTION}
// Floating-point invalid operation.
//
#define STATUS_FLOAT_INVALID_OPERATION   ((NTSTATUS)0xC0000090L)    // winnt

说明

当我们进行浮点数运算时,且设置了浮点异常模式,遇到违反运算规则时比如对负数开平方Sqrtf(-1.0f)抛出此异常。

异常结构说明

ExceptionAddress: 75f8a6e2 (KERNELBASE!RaiseException+0x00000062)
   ExceptionCode: c0000090
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00affc40----_FPIEEE_RECORD结构地址

 

简介

STATUS_FLOAT_DIVIDE_BY_ZERO---浮点数除零异常。值为0xC000008E。其定义如下

//
// MessageId: STATUS_FLOAT_DIVIDE_BY_ZERO
//
// MessageText:
//
// {EXCEPTION}
// Floating-point division by zero.
//
#define STATUS_FLOAT_DIVIDE_BY_ZERO      ((NTSTATUS)0xC000008EL)    // winnt

说明

当进行浮点数除法运算且除数为0.0时抛出此异常

异常结构

ExceptionAddress: 01004271 (ConsoleApplication2!wmain+0x00000091)
   ExceptionCode: c000008e
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

简介

STATUS_FLOAT_OVERFLOW---浮点运算溢出异常。值为0xC0000091。其定义如下

//
// MessageId: STATUS_FLOAT_OVERFLOW
//
// MessageText:
//
// {EXCEPTION}
// Floating-point overflow.
//
#define STATUS_FLOAT_OVERFLOW            ((NTSTATUS)0xC0000091L)    // winnt

说明

如果结果不能以目标的精度格式表示为有限值或当四舍五入结果不合适(浮点数的指数超过所能表示的最大值)时抛出此异常。

异常结构

ExceptionAddress: 0052197d (ConsoleApplication2!_Pow_int<double>+0x0000008d)
   ExceptionCode: c0000091
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

简介

STATUS_FLOAT_UNDERFLOW---浮点运算下溢异常。值为0xC0000093。其定义如下

//
// MessageId: STATUS_FLOAT_UNDERFLOW
//
// MessageText:
//
// {EXCEPTION}
// Floating-point underflow.
//
#define STATUS_FLOAT_UNDERFLOW           ((NTSTATUS)0xC0000093L)    // winnt

说明

浮点数的指数小于所能表示的最小值时引发该异常。

异常结构

ExceptionAddress: 007e3e00 (ConsoleApplication2!wmain+0x000000a0)
   ExceptionCode: c0000093
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

 

简介

STATUS_FLOAT_INEXACT_RESULT---浮点运算结果不精确异常。值为0xC000008F。其定义如下

//
// MessageId: STATUS_FLOAT_INEXACT_RESULT
//
// MessageText:
//
// {EXCEPTION}
// Floating-point inexact result.
//
#define STATUS_FLOAT_INEXACT_RESULT      ((NTSTATUS)0xC000008FL)    // winnt

说明

浮点数操作的结果不能精确表示成小数时引发该异常。一般发生溢出异常时也会引发此异常。

异常结构

ExceptionAddress: 00891690 (ConsoleApplication2!wmain+0x00000090)
   ExceptionCode: c000008f
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000