Throws ArithmeticException if value is not a finite number.
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
C3 |
ckfinite |
throw ArithmeticException if value is not a finite number. |
The stack transitional behavior, in sequential order, is:
[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]The ckfinite instruction throws ArithmeticException if value (a floating-point number) is either a "not a number" value (NaN) or a +- infinity value. Ckfinite leaves the value on the stack if no exception is thrown. Execution is unspecified if value is not a floating-point number.
ArithmeticException is thrown if value is not a 'normal' number.
Note that a special exception or a derived class of ArithmeticException may be more appropriate, passing the incorrect value to the exception handler.
The following ILGenerator.Emit(OpCode) method overload can use the ckfinite opcode:
ILGenerator.Emit(OpCode)