try($eval, $catch)
catch-Block. Die try-Funktion implementiert ein try-catch-Verhalten für TL-Script, das eine robuste Fehlerbehandlung ermöglicht.Die Funktion arbeitet mit zwei Parametern:
eval ein Fehler auftritt.eval-Block erfolgreich ausgeführt, wird dessen Ergebnis zurückgegeben. Tritt ein Fehler auf, wird der catch-Block ausgeführt. Dieser erhält immer zwei Argumente: die Fehlermeldung message und den Wert value.I18NException der ResKey, sonst die Fehlermeldung als Text.throw() übergebene Wert. null, wenn der Fehler nicht aus einem throw() stammt oder throw() ohne Wert aufgerufen wurde.| 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 zwei Argumente: die Fehlermeldung und den über throw() übergebenen Wert (value). |
nein | null |
Typ: Object
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.
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.