System.Math.ClearExceptions

De RAD Studio API Documentation
Aller à : navigation, rechercher

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

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
System.Math.pas
System.Math.hpp
System.Math System.Math


Description

Efface les exceptions de virgule flottante.

ClearExceptions possède un comportement différent selon les plates-formes :

  • Sur les plates-formes comme Android, iOS, le simulateur iOS et OSX 64 bits.
    • Si RaisePending est défini sur False, ClearExceptions réinitialise les exceptions de virgule flottante qui sont à la fois définies et spécifiées dans ExceptionFlags. ClearExceptions efface l'ensemble des autres exceptions de virgule flottante et sort.
    • Si RaisePending est défini sur True, ClearExceptions génère également toutes les exceptions de virgule flottante qui ont été réinitialisées.
  • Sur les autres plates-formes 32 bits et 64 bits. ClearExceptions efface l'ensemble des exceptions de virgule flottante et sort.

Par défaut, RaisePending est défini sur True et ExceptionFlags sur DefaultExceptionFlags.

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

Par défaut, les exceptions suivantes sont donc déclenchées sur les plates-formes comme Android, iOS, le simulateur iOS et OSX 64 bits :

  • Une opération incorrecte a été tentée.
  • Une tentative de division par zéro a été effectuée.
  • Un nombre a dépassé la plus grande valeur positive supportée.

Voir aussi