Obsługa błędów w usługach
| Zdarzenie usługi | Opis |
|---|---|
Zdarzenie pośrednie błędu przyłączone do granicy kroku (graniczne zdarzenie błędu) |
Wychwytuje błędy z kroku. |
Zdarzenie pośrednie błędu w ramach przepływu usługi |
Wychwytuje wszystkie błędy zgłoszone przez kroki przepływu usługi, które nie są obsługiwane przez pośrednie zdarzenie błędu na granicy kroku. To zdarzenie może mieć tylko łącza wychodzące. |
błąd zakończenia zdarzenia ![]() |
Zgłasza błąd i kończy przetwarzanie tej usługi. Końcowego zdarzenia błędu można użyć na przykład wtedy, gdy konkretny wynik formatki ma kończyć usługę personelu. |
Przed podjęciem decyzji, czy w usługach mają być używane zdarzenia błędu, należy uwzględnić następujące kwestie:
- Pośrednie zdarzenia błędu muszą być przyłączane do kroków w usłudze. Przyłączone zdarzenie błędu jest znane jako graniczne zdarzenie błędu.
- Pośrednie zdarzenia błędu mogą być używane w przepływie usługi tak, aby działały jako globalne procedury obsługi błędów w usłudze.
- Należy określić, czy błędy mogą być obsługiwane natychmiast i czy może być kontynuowane normalne przetwarzanie, czy też można zgłosić inny błąd na innym poziomie. Następnie należy zaimplementować obsługę błędów metodą wstępującą.
- Do zgłoszenia konkretnego błędu należy użyć końcowego zdarzenia błędu. Istnieje możliwość określenia kodu błędu i danych błędu.
- Warto rozważyć określenie danych błędu w celu wychwytywania konkretnych błędów. Można na przykład filtrować na podstawie kodu błędu dla typów wychwytywanych błędów oraz odwzorować kod błędu na zmienną po wychwyceniu błędów. Po wychwyceniu wszystkich błędów lub w przypadku, kiedy podany jest tylko kod błędu, dane błędów są przechwytywane do elementu
XMLElementw zmiennejtw.system.error.
Korzystanie z pośrednich zdarzeń błędu w przepływie usługi
Użycie pośrednich zdarzeń błędu w przepływie usługi udostępnia kilka możliwości obsługi błędów. Należy jednak zachować ostrożność, aby uniknąć wystąpienia nieoczekiwanego zachowania.
Pośrednie zdarzenie błędu w przepływie usługi może działać jako globalna procedura obsługi błędów w usłudze. Przechwytuje błędy, które nie zostały jeszcze obsłużone przez graniczne zdarzenia błędu. Pośrednie zdarzenie błędu nie może przechwytywać konkretnych błędów. Jest ono zdarzeniem błędu typu catchAll (przechwytuj wszystko). Jest przeznaczone do obsługi błędów, które można obsłużyć w ramach danego przepływu usługi. Nie zaleca się łączenia go z powrotem z normalnym przepływem. Zamiast tego po zakończeniu obsługi błędu powinno wystąpić zdarzenie końcowe. Po zakończeniu obsługi błędów można ponownie wrócić do usługi i kontynuować normalny przepływ z poprawionymi danymi.
W celu obsługi błędów sprawdzania poprawności w usłudze zapisywania współużytkowanych obiektów biznesowych należy wychwycić błąd BPMBOSaveFailedError, który jest dostępny na liście konkretnych błędów. Ten błąd jest dostępny tylko w węzłach, które zapisują kontekst wykonywania w sposób automatyczny (na przykład formatki) lub jawnie przez włączenie opcji Zapisz kontekst wykonywania. Więcej informacji na ten temat zawiera sekcja Składowanie usług dla współużytkowanych obiektów biznesowych.
W celu obsłużenia błędów w usłudze i umożliwienia powrotu do normalnego przepływu w tej samej usłudze należy użyć jednego lub większej liczby granicznych zdarzeń błędu z konkretnymi błędami i opcjami catchAll.

przyłączone do granicy kroku (graniczne zdarzenie błędu)