System.Math.ClearExceptions

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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

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