Semantik


 

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).

 

Attribute


 

AttributnameDatentypBeschreibungMögliche WerteStandardwertObligatorisch?
messageSTRINGErmöglicht es, eine Fehlermeldung in Form einer <message> an das EOMS-Core zu senden.

beliebige Zeichenkette

(Fehler)

 

Subelemente / Inhalt


 

Das <error>-Element besitzt keine Subelemente und kann keinen Inhalt enthalten.

 

Variablenbindungen


 

Das <error>-Element besitzt keine Variablenbindungen.

 

Beispiel


 

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>
Zweck:

Fehlerbehandlung

Typ:

Standalone

Elternelement:

Top-Level-Elemente

Subelemente:

Nein

Variablenbindungen:

Nein

Das <error>-Element bricht die Verarbeitung der RCML sofort ab. Nachfolgender Code wird nicht ausgeführt!