System.Math.ClearExceptions
Delphi
procedure ClearExceptions(RaisePending: Boolean; ExceptionFlags: TArithmeticExceptions);
C++
extern DELPHI_PACKAGE void __fastcall ClearExceptions(bool RaisePending = true, TArithmeticExceptions ExceptionFlags = (TArithmeticExceptions() << TArithmeticException::exInvalidOp << TArithmeticException::exZeroDivide << TArithmeticException::exOverflow ));
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Math.pas System.Math.hpp |
System.Math | System.Math |
説明
浮動小数点例外をクリアします。
ClearExceptions の動作は、次のように、プラットフォームによって異なります。
- Android、iOS、iOS シミュレータ、64 ビット OSX などのプラットフォームでは、
RaisePending
がFalse
の場合、ClearExceptions は、現在設定されていて、かつ、ExceptionFlags
で指定されている浮動小数点例外をリセットします。ClearExceptions は、それ以外の浮動小数点例外をすべてクリアし終了します。RaisePending
がTrue
の場合、ClearExceptions は、さらに、リセットした浮動小数点例外をすべて発生させます。
- その他の 32 ビットおよび 64 ビット プラットフォームでは、ClearExceptions は、すべての浮動小数点例外をクリアし終了します。
デフォルトでは、RaisePending
は True
、ExceptionFlags
は DefaultExceptionFlags
です。
DefaultExceptionFlags = [ TArithmeticException.exInvalidOp, TArithmeticException.exZeroDivide, TArithmeticException.exOverflow];
したがって、デフォルトでは、Android、iOS、iOS シミュレータ、64 ビット OSX などのプラットフォームでは、次の例外が発生します。
- 無効な演算を行おうとしました。
- ゼロで除算しようとしました。
- 数値が、サポートされている正の上限値を超えました。