Fehler behandeln
Bei dem im Workflow-Designer als Fehler behandeln verfügbaren Fehlerbehandlungsblock handelt es sich um ein Steuerelement, mit dem auftretende Fehler behandelt werden können.
Grundlagen
Jede Standard-Aktion in Xima® Formcycle kann Fehler werfen. Endet eine Verarbeitungskette in einem unbehandelten Fehler, wird der Workflow an dieser Stelle abgebrochen, der Vorgang als fehlerhaft markiert und es werden keine weiteren Verabeitungsketten mehr ausgeführt. Siehe auch die Hilfeseite zur Fehlerbehandlung.
Um dies zu verhindern, können Fehler über Fehlerbehandlungsblöcke abgefangen werden. Für den Fall, dass ein Fehler eingetreten ist, können weitere im Fehlerbehandlungsblock definierte Aktionen ausgeführt werden.
Eine Alternative zum Behandeln von Fehlern mittels Fehlerbehandlungsblöcken ist die Verwendung von Ereignissen vom Typ Workflow-Fehler.
Fehlerbehandlungblock
Mittels Fehlerbehandlungsblock kann ein Fehler abgefangen werden. Wird ein Fehler mittels Fehlerbehandlungsblock behandelt, wird die Verarbeitungskette ingesamt als ordndungsgemäß abgearbeitet betrachtet, endet also nicht in einem Fehler.
Der Fehlerbehandlungsblock ist wie folgt aufgebaut:
- Auf der linken Seite befinden sich die Aktionen, welche normalerweise ausgeführt werden sollen. Sobald bei einer der Aktionen ein Fehler auftitt, wird die weitere Verarbeitung auf der linken Seite beendet und es werden stattdessen die auf der rechten Seite konfigurierten Aktionen ausgeführt.
- Auf der rechten Seite befinden sich die Aktionen, welche beim Auftreten eines Fehlers ausgeführt werden sollen.
Nachdem alle Aktionen im Fehlerbehandlungsblock ausgeführt worden sind beziehungsweise im Falle eines Fehlers die auf der rechten Seite konfigurierte Fehlerbehandlung durchlaufen wurde, wird die Verarbeitung am unteren linken Knoten fortgesetzt.
Durch die Verwendung von Bedingungsblöcken innerhalb der Fehlerbehandlung eines Fehlerbehandlungsblocks kann geprüft werden, welche Art von Fehler aufgetreten ist. Dadurch ist es möglich, verschiedene Fehler in einem einzigen Fehlerbehandlungsblocks unterschiedlich zu behandeln.
Sollte in einer Aktion auf der rechten Seite des Fehlerbehandlungsblock ein unbehandelter Fehler auftreten, endet der gesamte Fehlerbehandlungsblock in einem Fehler und der Workflow wird abgebrochen. Fehlerbehandlungsblöcke können zudem verschachtelt werden, wodurch bei der Behandlung eines Fehlers auftretende andere Fehler abgefangen und ihrerseits behandelt werden können.
Platzhalter
Sowohl im Fehlerbehandlungsblock als auch im Workflow-Fehler-Ereignis kann auf den aufgetretenen Fehler mittels Platzhaltern zugegriffen werden:
- [%$LAST_ERROR%]
- [%$LAST_ERROR_CODE%]
- [%$LAST_ERROR_MESSAGE%]
- [%$LAST_ERROR_NODE_NAME%]
- [%$LAST_ERROR_NODE_TYPE%]
Die Inhalte dieser Platzhalter unterscheiden sich zum Teil je nach Aktion und können in der Dokumentation der jeweiligen Aktion gefunden werden. Durch Auswertung der Werte dieser Platzhaltern ist es zum Beispiel möglich, mittels Bedingungen abhängig vom Fehlertyp unterschiedlich zu reagieren.