System.Math.ClearExceptions
Delphi
procedure ClearExceptions(RaisePending: Boolean; ExceptionFlags: TArithmeticExceptions);
C++
extern DELPHI_PACKAGE void __fastcall ClearExceptions(bool RaisePending = true, TArithmeticExceptions ExceptionFlags = TArithmeticExceptions() );
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 |
|---|---|---|---|---|
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 などのプラットフォームでは、次の例外が発生します。
- 無効な演算を行おうとしました。
- ゼロで除算しようとしました。
- 数値が、サポートされている正の上限値を超えました。