Mit dem <error>-Element lässt sich eine rudimentäre Fehlerbehandlung implementieren. Das <error>-Element bewirkt den sofortigen Abbruch der Prozessausführung. Die Verarbeitung stoppt also bei dem <error>-Element und nachfolgender Code wird nicht ausgeführt. Gleichzeitig können Sie als Attribut eine Message angeben, die an das EOMS-Core gesendet wird (Fehlermeldung). Verwenden Sie das <error>-Element z.B. in Verbindung mit dem <if>-Element, um auf verschiedene Ausnahmen unterschiedlich zu reagieren (siehe auch Beispiel).
Attributname | Datentyp | Beschreibung | Mögliche Werte | Standardwert | Obligatorisch? |
---|---|---|---|---|---|
message | STRING | Ermöglicht es, eine Fehlermeldung in Form einer <message> an das EOMS-Core zu senden. | beliebige Zeichenkette | — |
Das <error>-Element besitzt keine Subelemente und kann keinen Inhalt enthalten.
Das <error>-Element besitzt keine Variablenbindungen.
Im folgenden Beispiel wird der Return-Code eines einfachen copy-Prozesses abgeglichen (nicht durch <result>, sondern durch testReturnCode()). Passend dazu wird mit <error> jeweils eine angepasste Fehlermeldung gesendet. Die Verarbeitung wird nur fortgesetzt, wenn der Fall return-code = false (=0) eintritt, wenn also keine Fehler aufgetreten sind. Dieses Beispiel verwendet das <exec>-, <commandline>-, <workdir>- und <if>-Element.
<rcml> <process id="ExampleProcess" name="example process"> <workdir id="workdir" home="./WORK" /> <!-- Ausführung --> <exec id="ExampleExec" workdir="workdir"> <commandline processor="velocity">cmd move c:\*.txt c:\TXTs</commandline> <!-- <commandline> setzt return-code von <exec> auf 0, falls erfolgreich, sonst != 0. --> </exec> <!-- Falls ein Fehler aufgetreten ist: Fehlermeldung an das EOMS-Core und Abbruch der Verarbeitung. --> <if condition="${ExampleExec.testReturnCode(true)}"> <error message="${'Beim Aufruf des Befehls [cmd] Fehler: ' + ExampleExec.getReturnCode() + '... der Prozess wird abgebrochen.'}"/> </if> <!-- Falls kein Fehler aufgetreten ist geht es normal weiter. --> ... </process> </rcml> |
|