OpCodes.Ckfinite Field
Throws ArithmeticException if value is not a finite number.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
The following table lists the instruction's hexadecimal and Microsoft intermediate language (MSIL) assembly format, along with a brief reference summary:
|
Format |
Assembly Format |
Description |
|---|---|---|
|
C3 |
ckfinite |
throw ArithmeticException if value is not a finite number. |
The stack transitional behavior, in sequential order, is:
-
value is pushed onto the stack..
-
value is popped from the stack and the ckfinite instruction is performed on it.
-
value is pushed back onto the stack if no exception is thrown.
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 Emit method overload can use the ckfinite opcode:
-
ILGenerator.Emit(OpCode)
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.