Ausnahmebehandlung

23.08.2021

Mit der Ausnahmebehandlung von FPScript können Sie flexibel auf Fehlerzustände in Ihren Formeln reagieren. Ausnahmen sind zum einen alle Fehler, die während der Ausführung von FPScript-Code auftreten können, und zum anderen explizit mit der Throw-Anweisung erzeugte Ausnahmen.

Folgendes Beispiel führt eine Division aus und erzeugt eine Ausnahme, wenn der Divisor gleich Null ist.

Arguments X, Y
If Y == 0 Then
    Throw "Division durch Null"
End
X / Y

Mittels der Try...Catch-Anweisung können Sie Ausnahmen abfangen und darauf reagieren. Sie können z. B. gezielt verhindern, dass bei einem Berechnungsfehler die Berechnung mit einer Fehlermeldung abgebrochen wird. Stattdessen können Sie den Fehler abfangen und z. B. ein leeres Ergebnis zurückgeben:

Try
    Return Integral(x)
Catch Exception
    Return Empty
End

Der hinter der Catch-Anweisung angegeben Variable wird der bei der Erzeugung der Ausnahme mit Throw "geworfene" Wert zugewiesen. Dies kann eine beliebige Datenstruktur sein. Die in FPScript eingebauten Funktionen und Operatoren übergeben eine Zeichenkette mit einer Fehlerbeschreibung als Wert der Ausnahme.

Ausnahmen stellen ein leistungsfähiges Konzept zur Fehlerbehandlung dar, indem zwischen regulärem Ergebniswert und Ausnahme unterschieden wird. Sie sollten Ausnahmen jedoch ausschließlich zur Behandlung von Fehlerzuständen verwenden und nicht als alternative Möglichkeit zur Übergabe von Ergebniswerten. Das Gleiche gilt auch umgekehrt. Sie sollten den Ergebniswert der Formel nicht zur Übergabe von Fehlermeldungen verwenden, sondern hierfür eine Ausnahme erzeugen.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren