On-Error
On-Error
Syntax:
argument ::=([‘text’] | ‘structure’)
expression
Mit der Anweisung ‘on-error’ kann eine
Fehlerbehandlung in das Dokument eingebaut werden. Wenn eine
TAL-Anweisung einen Fehler hervorruft, versucht der
TAL-Interpreter zuerst im selben Element eine
‘on-error’-Anweisung zu finden, dann im
einschließenden Element, und so weiter. Die erste
‘on-error’-Anweisung die gefunden wird, wird
ausgeführt. Die ‘on-error’-Anweisung verhält sich
genau wie die ‘content’-Anweisung.
Die einfachste ‘on-error’-Anweisung hat als
Ausdruck einen String oder ‘nothing’. Eine etwas
komplexere Fehlerbehandlung ruft etwa ein Skript auf, das den
Fehler genauer untersucht und dann entweder eine Fehlermeldung
ausgibt oder einen Ausnahmefehler (exception) erzeugt um den
Fehler nach außen weiterzuleiten.
Beispiele:
<p tal:on-error=“string: Fehler! Dieser Paragraph ist
fehlerhaft!”>
Mein Name ist <span tal:replace=”here/SlimShady”
/>. <br/>
(Mein Login ist <b tal:on-error=”string: Benutzername
ist nicht definiert!”
tal:content=”user”>unbekannt</b>)
</p>
Im oberen Beispiel wird ‘here/SlimShady’ einen
Fehler auslösen, die ‘on-error’-Anweisung fängt
diesen ab und ersetzt den ganzen Paragraphen mit dem Text
‘Fehler! Dieser Paragraph ist fehlerhaft!’. Kann
‘here/SlimShady’ korrekt ausgewertet werden, aber
bei der Auswertung von ‘user’ tritt ein Fehler auf,
dann ersetzt ‘Benutzername ist nicht definiert!’ das
Wort ‘unbekannt’, aber der Rest des Paragraph wird
völlig normal behandelt.






