System.Math.ClearExceptions
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 surFalse
, ClearExceptions réinitialise les exceptions de virgule flottante qui sont à la fois définies et spécifiées dansExceptionFlags
. ClearExceptions efface l'ensemble des autres exceptions de virgule flottante et sort. - Si
RaisePending
est défini surTrue
, ClearExceptions génère également toutes les exceptions de virgule flottante qui ont été réinitialisées.
- Si
- 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.