System.Math.RaiseExceptions

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

Delphi

procedure RaiseExceptions(const ExceptionFlags: TArithmeticExceptions);

C++

extern DELPHI_PACKAGE void __fastcall RaiseExceptions(const TArithmeticExceptions ExceptionFlags = (TArithmeticExceptions() << TArithmeticException::exInvalidOp << TArithmeticException::exZeroDivide << TArithmeticException::exOverflow ));

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
System.Math.pas
System.Math.hpp
System.Math System.Math


説明

ExceptionFlags で指定された浮動小数点例外をクリアし発生させます。

次のように、RaiseExceptions の動作はプラットフォームによって異なります。

  • Android、iOS、iOS シミュレータ、64 ビット OSX のようなプラットフォームでは、RaiseExceptions では、現在設定されている浮動小数点例外と、ExceptionFlags で指定された浮動小数点例外をリセットします。RaiseExceptions では、それ以外の浮動小数点例外をすべてクリアします。そのあと、RaiseExceptions は、いったんリセットした浮動小数点例外をすべて発生させます。
  • その他の 32 ビットおよび 64 ビット プラットフォームでは、RaiseExceptions は、浮動小数点例外をすべてクリアし終了します。

デフォルトでは、ExceptionFlags は次のような DefaultExceptionFlags です。

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

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

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

関連項目