System.Reflection.Emit.OpCodes.Ckfinite Field

Throws ArithmeticException if value is not a finite number.

Syntax

public static readonly OpCode Ckfinite

Remarks

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)

Requirements

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0