Fehlerbehandlung in clientseitigen Benutzerservices

Sie können Fehler in einem clientseitigen Benutzerservice mithilfe eines eigenständigen Fehlerereignishandlers behandeln oder Fehler bei einem bestimmten Schritt abfangen, indem Sie ein Fehlergrenzereignis einem einzelnen Service zuordnen (anhängen). Sie können Fehlerendereignisse verwenden, um bestimmte Fehler auszulösen und die Verarbeitung des Service bei einem bestimmten Schritt zu beenden.
Zum Abfangen von Fehlern können Sie Fehlergrenzereignisse oder Fehlerereignishandler verwenden. Beide Optionen stellen dieselbe Funktionalität zum Abfangen von Fehlern bereit. Der Unterschied liegt darin, wo sich die Fehlerbehandlungslogik in Ihrem Diagramm befindet, sowie im Bereich der Fehler, die abgefangen werden.
  • Ein Fehlergrenzereignis fängt Fehler ab, die durch den Service, der ihm zugeordnet ist, ausgelöst werden. Es kann entweder dem Knoten eines aufgerufenen Service oder dem Knoten eines verschachtelten clientseitigen Benutzerservice zugeordnet werden.
  • Ein Fehlergrenzereignis fängt Fehler ab, die aus dem clientseitigen Benutzerservice und allen zugehörigen verschachtelten Services ausgelöst werden.

Sie können Grenzereignisse und Fehlerereignishandler konfigurieren, um alle Fehler oder bestimmte Fehler abzufangen. Während der Ausführung haben Grenzereignisse Vorrang vor Fehlerereignishandlern und bestimmte Fehler haben Vorrang vor allgemeinen Fehlern.

Sie können Fehlereigenschaften angeben, um bestimmte Fehler abzufangen oder auszulösen, den Fehlercode nach den Fehlertypen zu filtern und die abgefangenen Fehler einer Variablen zuzuordnen.
  • Die Fehlerereignisinformationen werden in den Variablen tw.error.code und tw.error.data erfasst. Weitere Informationen finden Sie unter JavaScript -API für die Entwicklung clientseitiger Benutzerservices.
  • Durch die Zuordnung des Fehlerereignisses zu einer Variablen werden Ereignisse mit inkompatiblen Datentypen herausgefiltert und die Daten werden in einer lokalen Variablen erfasst.
Benutzerdefinierte und systemdefinierte Fehler
Zu den speziellen Fehlern, die ein Fehlerereignishandler erfasst, zählen unter anderem benutzerdefinierte Fehler, die aus der Modellhierarchie zurückgegeben werden (aus Services oder clientseitigen Benutzerservices, die ein Fehlerendereignis aufweisen) oder systemdefinierte Fehler. Die Fehlercodeoptionen für systemdefinierte Fehler lauten folgendermaßen:
  • BPMBOSaveFailedError: Erfasst Fehler aus einem Speicherservice für gemeinsam genutzte Geschäftsobjekte.
  • BPMTaskOwnerError: Erfasst Fehler, die auftreten, wenn dem aktuellen Benutzer das Eigentumsrecht einer Task entzogen wird.
Ein systemdefinierter Fehler könnte beispielsweise ein Fehler für das Eigentumsrecht einer Task sein, der zur Laufzeit auftritt, wenn eine interaktive Task, die ein Benutzer von Process Portal in einer Benutzerschnittstelle ausführt, aus einer externen Quelle einem anderen Benutzer neu zugeordnet wird. Eine externe Quelle kann dabei z. B. ein anderer Service oder ein REST-API-Aufruf für eine erneute Zuordnung ('reassign') sein. Nach der Neuzuweisung der Task empfängt der aktuelle Benutzer (der frühere Taskeigner) einen Eigentumsfehler, wenn seine Arbeit an der Task eine Interaktion mit dem Server auslöst. Damit der Benutzer den Fehler in angemessener Weise handhaben kann, können Sie im zugrunde liegenden clientseitigen Benutzerservice für die angegebene Benutzerschnittstelle einen Fehlereignishandler implementieren, der diesen speziellen Fehler abfängt und die Logik bereitstellt, die den Fehler darstellt.
Hinweis: Fehler von clientseitigen Scriptaktivitäten werden nicht über Fehlerereignishandler behandelt. Ein Fehler von einer clientseitigen Script-Aktivität führt in der Regel zu einer Fehlernachricht im Coach-Fenster. Sie können mit dem Debugging-Tool des Browsers das Problem beheben. Die try/catch-Blocks können in Ihrem JavaScript-Code verwendet werden. Sie sind eine gängige Verfahrensweise für die Fehlerbehebung.
Tabelle 1. Verwendung von Fehlerereignissen in clientseitigen Benutzerservices
Symbol Fehlerereignis Beschreibung
Dieses Symbol gibt das Fehlergrenzereignis in der Palette für clientseitige Benutzerservices an. Fehlergrenzereignis. Ein Fehlerzwischenereignis, das einem Serviceknoten in einem clientseitigen Benutzerservice zugeordnet wird. Fängt Fehler ab und empfängt Fehlerdaten aus dem Service, dem es zugeordnet (angehängt) ist. Um die Position zu modellieren, an der der clientseitige Benutzerservice nach dem Abfangen eines Fehlers wiederaufgenommen wird, verbinden Sie jedes Fehlerzwischenereignis mit einer Aktivität, die die Fehlerbehandlungslogik ausführt. Sie können ein Fehlergrenzereignis mit jedem beliebigen Knoten verbinden.

Sie können Fehlergrenzereignisse einem Knoten für einen aufgerufenen Service oder einem Knoten für einen verschachtelten clientseitigen Benutzerservice zuordnen. Sie können die Position des Fehlergrenzereignisses entlang der Servicegrenze ändern. Sie können es aus dem Service entfernen oder in einen anderen Service versetzen.

Tastenkombination Direktaufruftaste: B

Weitere Informationen finden Sie unter Fehler mithilfe von Fehlerzwischenereignissen abfangen.

Dieses Symbol gibt den Fehlerereignishandler in der Palette für clientseitige Benutzerservices an. Globaler Fehlerereignishandler, der Fehler im clientseitigen Benutzerservice abfängt und Fehlerbehandlungslogik ausführt. Fängt alle Fehler oder bestimmte Fehler ab. Dieser Handler kann als eigenständiger Ereignishandler außerhalb eines Service verwendet werden. Sie implementieren die Fehlerbehandlungslogik im Fehlerhandler.

Sie können in einem clientseitigen Benutzerservice mehrere Fehlerereignishandler verwenden. Beispielsweise können Sie einen Fehlerereignishandler zum Abfangen eines bestimmten Fehlercodes und einen weiteren zum Abfangen aller übrigen Fehler konfigurieren. Danach können Sie unterschiedliche Logik zur Verarbeitung bestimmter Fehler und Logik zur Verarbeitung aller übrigen Fehler implementieren.

Ein Fehlerereignishandler, der in einem verschachtelten clientseitigen Benutzerservice verwendet wird, fängt Fehler aus dem Service, in dem er definiert ist, sowie aus allen verschachtelten Services darunter ab.

Weitere Informationen finden Sie unter Fehler mithilfe von Fehlerereignishandlern abfangen.

Dieses Symbol gibt das Fehlerendereignis in der Palette für clientseitige Benutzerservices an. Fehlerendereignis, das einen Fehler auslöst und die Verarbeitung des clientseitigen Benutzerservice beendet. Löst einen bestimmten Fehler aus und beendet die Verarbeitung des clientseitigen Benutzerservice, in dem es implementiert ist. Sie können ein Fehlerendereignis mit einem beliebigen Knoten in einem clientseitigen Benutzerservice verbinden. Sie können einen Fehlercode und Fehlerdaten für den Fehler angeben.

Weitere Informationen finden Sie unter Fehler mithilfe von Fehlerendereignissen auswerfen.