Try-Catch
Syntax
try($eval, $catch)
Beschreibung
Führt einen Code-Block oder Ausdruck aus und behandelt auftretende Fehler über einen optionalen
catch-Block. Die try-Funktion implementiert ein try-catch-Verhalten für TLScript, das eine robuste Fehlerbehandlung ermöglicht.
Die Funktion arbeitet mit zwei Parametern:
- eval: Der auszuführende Code-Block oder Ausdruck, der einen Fehler verursachen könnte.
- catch: Ein optionaler Code-Block oder Ausdruck, der ausgeführt wird, wenn während der Ausführung von
evalein Fehler auftritt.
Wird der
eval-Block erfolgreich ausgeführt, wird dessen Ergebnis zurückgegeben. Tritt ein Fehler auf, wird der catch-Block ausgeführt. Dieser erhält Informationen zur aufgetretenen Ausnahme abhängig vom Fehlertyp:
- I18NException:
catch-Block erhält (ResKey, ursprüngliches Argument) - Reguläre Exception:
catch-Block erhält (Fehlermeldung, ursprüngliches Argument)
Parameter
| Bezeichnung | Typ | Beschreibung | Pflicht | Standard |
|---|---|---|---|---|
|
eval |
Code-Block oder Ausdruck | Der Code-Block oder Ausdruck, der ausgeführt werden soll. | ja | - |
| catch | Code-Block oder Ausdruck | Der Code-Block oder Ausdruck, der bei einem Fehler ausgeführt wird. Erhält das Exception-Objekt als Parameter | nein | null |
Rückgabewert
Typ: Object
Gibt das Ergebnis des
eval-Blocks zurück, wenn dieser erfolgreich ausgeführt wurde. Tritt ein Fehler auf, wird das Ergebnis des catch-Blocks zurückgegeben. Ist kein catch-Block angegeben, wird bei einem Fehler null zurückgegeben.
Beispiele
try(
sendMail(
subject: $subject,
to: $emailAddr,
body: $emailBody
),
catch: mailError -> {
info("E-Mail-Zustellung an " + $emailAddr + " fehlgeschlagen. Grund: " + $mailError);
false
}
)
Ausgabe: Versucht eine E-Mail zu senden. Bei Erfolg wird das Ergebnis von sendMail zurückgegeben. Bei einem Fehler wird false zurückgegeben und eine Benutzerinfo mit der versuchten E-Mail-Adresse.