System.Math.ClearExceptions

提供: RAD Studio API Documentation
移動先: 案内検索

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 などのプラットフォームでは、
    • RaisePendingFalse の場合、ClearExceptions は、現在設定されていて、かつ、ExceptionFlags で指定されている浮動小数点例外をリセットします。ClearExceptions は、それ以外の浮動小数点例外をすべてクリアし終了します。
    • RaisePendingTrue の場合、ClearExceptions は、さらに、リセットした浮動小数点例外をすべて発生させます。
  • その他の 32 ビットおよび 64 ビット プラットフォームでは、ClearExceptions は、すべての浮動小数点例外をクリアし終了します。

デフォルトでは、RaisePendingTrueExceptionFlagsDefaultExceptionFlags です。

DefaultExceptionFlags = [
     TArithmeticException.exInvalidOp,
     TArithmeticException.exZeroDivide,
     TArithmeticException.exOverflow];

したがって、デフォルトでは、Android、iOS、iOS シミュレータ、64 ビット OSX などのプラットフォームでは、次の例外が発生します。

  • 無効な演算を行おうとしました。
  • ゼロで除算しようとしました。
  • 数値が、サポートされている正の上限値を超えました。

関連項目