System.Math.ClearExceptions

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

Object Pascal

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 ));

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.Math.pas
System.Math.hpp
System.Math System.Math


Beschreibung

Löscht Gleitkomma-Exceptions.

ClearExceptions verhält sich auf verschiedenen Plattformen unterschiedlich:

  • Auf Plattformen wie Android, iOS, iOS-Simulator und 64-Bit-OSX.
    • Wenn <RaisePending> False ist, setzt ClearExceptions diejenigen Gleitkomma-Exceptions zurück, die sowohl aktuell gesetzt als auch in <ExceptionFlags> angegeben sind. ClearExceptions löscht alle anderen Gleitkomma-Exceptions und beendet die Prozedur.
    • Wenn <RaisePending> True ist, dann generiert ClearExceptions auch alle Gleitkomma-Exceptions, die zurückgesetzt wurden.
  • Auf anderen 32-Bit- und 64-Bit-Plattformen. ClearExceptions löscht alle Gleitkomma-Exceptions und beendet die Prozedur.

Standardmäßig ist <RaisePending> True und <ExceptionFlags> ist DefaultExceptionFlags.

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

Daher werden die folgenden Exceptions standardmäßig auf Plattformen wie Android, iOS, iOS-Simulator und 64-Bit-OSX ausgelöst:

  • Versuch, eine ungültige Operation auszuführen.
  • Versuch einer Division durch Null.
  • Eine Zahl hat den höchsten unterstützten positiven Wert überschritten.

Siehe auch