Prozesse/Objekte – Ausnahmetypen

Ausnahmen treten aus verschiedenen Gründen während der Ausführung eines Prozesses auf. Ursachen sind unter anderem:

  • Fehler im Prozess selbst (z. B. ein ungültiger Ausdruck in einer Berechnung)
  • Fehler beim Zuordnen eines Elements (z. B. das „Klicken“ nicht existierender Schaltflächen)
  • Datenfehler (z. B. ein unbekannter Kontotyp)

Beim Auftreten einer Ausnahme wird der Prozess normalerweise angehalten und sein Status im Kontrollraum als „Beendet“ angezeigt. Manchmal soll ein Prozess beim Auftreten einer Ausnahme nicht angehalten werden. In bestimmten Fällen können Ausnahmen verarbeitet werden, ohne den Prozess zu beenden. Wenn zum Beispiel ein Kundensystem meldet, dass ein bestimmter Fall für die Bearbeitung gesperrt ist, kann die ausgelöste Ausnahme isoliert und der Fall zur späteren Bearbeitung markiert werden. Der Prozess läuft somit weiter und Folgefälle werden bearbeitet.

Verarbeitungshierarchie

Das wichtigste Konzept der Ausnahmebehandlung ist die hierarchische Struktur der Verarbeitung. Tritt eine Ausnahme auf, passiert Folgendes:

  • Wenn sich die aktuelle Phase in einem Block befindet und der Block eine Wiederherstellungsphase enthält, wird dort die Kontrolle übergeben.
  • Wenn andernfalls die aktuelle Seite eine Wiederherstellungsphase enthält (außerhalb eines Blocks), wird dort die Kontrolle übergeben.
  • Wenn diese Seite von einer anderen aufgerufen wurde (z. B. als Seitenreferenz, Aktion oder Aufruf eines Teilprozesses), tritt die Ausnahme in der ursprünglich aufrufenden Phase auf und obige Regel gilt erneut.
  • Wird die Ausnahme von keinem der oben genannten Prozesse behandelt, muss sie in einer Phase auf der Hauptseite des ursprünglichen Vorgängerelements auftreten, ohne Wiederherstellungsphase. An diesem Punkt wird der Prozess in einem Ausnahmezustand angehalten und er erhält den Status „Beendet“.

Tritt bei der Wiederherstellung eine neue Ausnahme auf, wird oben genannter Prozess von der nächsthöheren Hierarchieebene aus fortgesetzt.

Ausnahmephase

Eine Ausnahmephase wird verwendet, um eine Ausnahme zu einem beliebigen Zeitpunkt des Prozessablaufs auszulösen. Eine auf diese Weise absichtliche ausgelöste Ausnahme verhält sich wie eine normale Ausnahme, die während der Verarbeitung ausgelöst wurde.

Der Ausnahmephase sind folgende Informationen zugeordnet:

  • Ausnahmetyp – Ein benutzerdefiniertes Label, das die Kategorie der Ausnahme beschreibt. Benutzer können eigene Kategorien erstellen, z. B. „Datenausnahme“ und „Timeout-Ausnahme“. Blue Prism sammelt und speichert automatisch alle in Prozessen und Geschäftsobjekten erstelle Ausnahmetypen. Das bedeutet, dass alle Typen global konsistent über alle verarbeiteten Prozesse/Objekte hinweg erneut verwendet werden können.
  • Ausnahmedetails – Ein Ausdruck mit allen wichtigen Informationen zur Ausnahme.
  • Typ und Detail der aktuellen Ausnahme beibehalten – Diese Option kann mit Recover-Phasen verwendet werden, um die Details der Ausnahme zu bewahren und sicherzustellen, dass der genaue Fehlerverlauf für das Sitzungslog auch nach der Bereinigung des Prozesses aufbewahrt wird. Wenn diese Option aktiviert ist, werden die Felder Ausnahmetyp und Ausnahmedetails deaktiviert, da der Typ und die Details von der ursprünglichen Ausnahme bewahrt werden. Dies hilft bei der Fehlerbehebung von Ausnahmen und Identifizierung der Fehlerquelle.

Wiederherstellungsphase

Eine Wiederherstellungsphase ermöglicht die Wiederherstellung nach einer Ausnahme. Tritt eine Ausnahme auf einer Seite auf, die eine Wiederherstellungsphase enthält, wird der Prozess dort fortgesetzt. Sobald der Prozessablauf in eine Wiederherstellungsphase übergegangen ist, befindet sich der Prozess im Wiederherstellungsmodus und verbleibt dort, bis eine Fortsetzungsphase oder eine weitere Ausnahme auftritt. Tritt eine weitere Ausnahme im Wiederherstellungsmodus auf, wird die Ausnahme nicht von derselben Wiederherstellungsphase erfasst, sondern an die nächste Ebene „weitergereicht“.

Fortsetzungsphase

Eine Fortsetzungsphase gibt an, dass die Wiederherstellung abgeschlossen ist und die normale Verarbeitung fortgesetzt wird. Üblicherweise folgen auf eine Wiederherstellungsphase mehrere Entscheidungs-/Auswahlphasen, die zu unterschiedlichen Bereinigungstypen führen (abhängig vom Typ der Ausnahme). Diese Phasen können wieder mit dem Kernablauf verknüpft werden. Dies muss mittels einer Fortsetzungsphase geschehen. Ohne Fortsetzungsphase würde eine weitere Ausnahme nicht von derselben Wiederherstellungsphase behandelt, sondern an die nächste Ebene weitergeleitet werden, als ob keine Ausnahmebehandlung existiere. Nach der Fortsetzungsphase tritt wieder die normale Ausnahmebehandlung in Kraft.

Blöcke

Ein Block ist ein rechteckiger Bereich, der alle Phasen gruppiert, die vollständig in seinen Bereich fallen. Ein Block kann eine eigene Wiederherstellungsphase enthalten, die in ihm auftretende Ausnahmen behandelt.

Blöcke werden grafisch als Rechtecke mit schattierter Innenfläche repräsentiert. Der Name des Blocks wird in einem Label in der oberen linken Ecke angezeigt. Dies ist das einzige verfügbare Feld im Eigenschaftenfenster des Blocks.

Wird ein Block aus der Symbolleiste ausgewählt, kann ein neuer Block erstellt werden, indem er mit der Maus in der gewünschten Form aufgezogen wird. Die Größe von Blöcken lässt sich durch Ziehen an einer der vier Ecken anpassen. Blöcke dürfen sich nicht überschneiden. Derartige Blöcke werden bei der Prozessvalidierung angezeigt.

Ausnahmefunktionen

Die Strukturansicht der Ausdruckseditorfunktionen enthält einen zusätzlichen Zweig namens „Ausnahmen“, der drei Ausnahmefunktionen enthält: AusnahmeText(), AusnahmeDetails() und AusnahmePhase(). Diese Funktionen können über eine Berechnung oder Entscheidung genutzt werden, wenn sich der Prozess im Wiederherstellungsmodus befindet.

Zusätzlich gibt es einen dritten Punkt namens „Typen“, der erweitert werden kann und alle bisher verwendeten Ausnahmetypen enthält. Wenn diese Elemente aus der Strukturansicht gezogen werden, wird eine Zeichenfolgen-Konstante wie „BenutzerNameZuLang“ in die Ausdrucksansicht eingefügt.

Dialogfelder mit Ausnahmemeldungen

Dialogfelder mit Ausnahmemeldungen, die normalerweise beim Debugging auftreten, werden nicht angezeigt, wenn die Ausnahme von einer Wiederherstellungsphase behandelt wird. Stattdessen springt der Prozessablauf zur Wiederherstellungsphase. Außerdem wird die Meldung, die früher in einem Dialogfeld geöffnet wurde, jetzt über der Statusleiste von Prozessstudio angezeigt.

Log-Verlaufsanzeige

Die Log-Verlaufsanzeige kann über die Schaltfläche rechts neben der Statusleiste geöffnet werden. Dadurch wird ein Textfeld mit den letzten zehn Zeilen des Log-Outputs angezeigt. Dies ist nützlich zur Bestimmung der Ursache der Ausnahme oder ihres Ursprungs, wenn sie von einer Teilseite ausgelöst wurde.