Fehler behandeln


Ein Fehlerbehandlungsblock mit Aktionen, die Fehler werfen können auf der linken Seite (1) und Aktionen, die im Falle eines Fehlers ausgeführt werden sollen, auf der rechten Seite (2). In diesem Beispiel soll in einen Status Fehler beim Versenden von E-Mail gewechselt werden, wenn ein Fehler beim Versenden einer E-Mail auftritt.

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.

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

Beispiel eines Fehlerbehandlungsblocks mit mehreren Bedingungen, durch welche je nach Fehlerereignis unterschiedliche Stellen per E-Mail informiert werden.

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 bzw. 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. 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 via Platzhalter 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, mitteks Bedingungen abhängig vom Fehlertyp unterschiedlich zu reagieren.