V_setFPErrorHandling
FunktionVerhalten im Falle von Fließkomma-Fehlern festlegen (nur Pascal/Delphi).
Syntax Pascal/Delphiuses VecLib;
type V_fphand = 0..$1717;
procedure V_setFPErrorHandling( hand:V_fpHand );
BeschreibungDa Pascal/Delphi Fließkomma-Fehler nicht über eine benutzerdefinierbare Funktion _matherr behandelt, wie dies C/C++ tut, bietet OptiVec die Funktion V_setFPErrorHandling, mit der wenigstens das Verhalten beim Auftreten von Fließkommafehlern innerhalb von OptiVec-Funktionen beeinflußt werden kann. Eine Anzahl von vordefinierten Konstanten fperrXXX steht für die Konstruktion des gewünschten Fehlerbehandlungs-Modus zur Verfügung:
 
KonstanteWertBedeutung
fperrIgnore0alle Fließkomma-Fehler ignorieren: Ergebnis stillschweigend auf Standardwert setzen, keine Fehlermeldung ausgeben, Programmausführung fortsetzen
fperrNoteDOMAIN$0001Fehlermeldung für DOMAIN-Fehler ausgeben
fperrNoteSING$0002Fehlermeldung für SING-Fehler ausgeben
fperrNoteOVERFLOW$0003Fehlermeldung für OVERFLOW-Fehler ausgeben
fperrNoteTLOSS$0004Fehlermeldung für TLOSS-Fehler ausgeben
fperrAbortDOMAIN$0101Programm im Falle von DOMAIN-Fehler abbrechen
fperrAbortSING$0202Programm im Falle von SING-Fehler abbrechen
fperrAbortOVERFLOW$0303Programm im Falle von OVERFLOW-Fehler abbrechen
fperrAbortTLOSS$0404Programm im Falle von TLOSS-Fehler abbrechen
fperrDefaultHandling$0107Entspricht fperrAbortDOMAIN + fperrNoteSING + fperrNoteOVERFLOW
BeispielV_setFPErrorHandling( fperrAbortDOMAIN + fperrAbortSING + fperrAbortOVERFLOW + fperrNoteTLOSS );
In diesem Beispiel wird das Programm mit einer Fehlermeldung abgebrochen, falls einer der schwereren Fehler, DOMAIN oder SING, auftritt. Im Falle der weniger schweren OVERFLOW- und TLOSS-Fehler wird zwar eine Meldung ausgegeben, aber die Programmausführung mit den für die jeweilige Funktion vorgegebenen Standardwerten fortgesetzt. Falls mehrere Fehler desselben Fehlertyps nacheinander innerhalb ein- und derselben Funktion auftreten, wird nur eine einzige Meldung ausgegeben. Die folgenden Fehler werden stillschweigend behoben.
Fehlerbehandlungkeine
Rückgabewertkeiner
QuerverweisV_setIntErrorHandling,   V_setErrorEventFile,   V_noteError,   V_printErrorMsg

VectorLib Inhaltsverzeichnis  OptiVec Home