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:

  1. eval: Der auszuführende Code-Block oder Ausdruck, der einen Fehler verursachen könnte.
  2. catch: Ein optionaler Code-Block oder Ausdruck, der ausgeführt wird, wenn während der Ausführung von eval ein 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.