Processus/objets – Types d'exception

Les exceptions surviennent pendant l'exécution d'un processus pour plusieurs raisons. Par exemple :

  • Une erreur dans le processus (par exemple, une expression invalide saisie dans un calcul)
  • L'échec dans la correspondance d'un élément (par exemple, essayer d'« appuyer » sur un bouton qui n'existe pas)
  • Une erreur dans les données (par exemple, un type de compte dont nous ne connaissons pas le fonctionnement)

En règle générale, lorsqu'une exception survient, le processus s'arrête et son statut indique Suspendu dans Control Room. Il n'est parfois pas souhaitable que le processus s'arrête lorsqu'une exception survient. Dans certains contextes, nous sommes en mesure de traiter l'exception et de poursuivre le processus. Par exemple, si un système client nous indique que nous ne pouvons pas traiter un cas particulier, car il est verrouillé, nous pouvons intercepter l'exception qui en résulte, marquer ce cas pour le traiter ultérieurement, et le processus peut poursuivre son exécution et passer aux cas suivants.

Hiérarchie des processus

Le concept de gestion d'exception le plus important est la nature hiérarchique du processus. Dans le cas d'une exception, les actions suivantes se produisent :

  • Si l'étape actuelle se trouve dans un bloc, et que le bloc contient une étape de récupération, le contrôle est transféré ici.
  • Autrement, si la page actuelle contient une étape de récupération (en dehors d'un bloc), le contrôle est transféré ici
  • Si cette page a été appelée par une autre page (par exemple, en tant qu'appel de référence de page, d'action ou de sous-processus), l'exception survient au niveau de l'étape qui a émis l'appel d'origine, et les règles ci-dessus s'appliquent à nouveau.
  • Enfin, si l'exception n'est pas traitée par les actions ci-dessus, elle le sera lors d'une étape sur la page principale du processus parent d'origine, sans qu'une étape de récupération soit présente. À ce niveau, le processus s'arrête dans un état d'exception et le statut du processus est marqué comme Suspendu.

Si une nouvelle exception survient pendant la récupération, le processus ci-dessus reprend à partir du niveau supérieur suivant de la hiérarchie.

Étape d'exception

Une étape Exception permet de déclencher une exception à tout moment pendant le flux du processus. Une exception levée intentionnellement de cette façon se comporte de la même manière qu'une exception normale susceptible de survenir pendant l'exécution.

L'étape Exception est associée aux détails suivants :

  • Type d'exception : une étiquette définie par l'utilisateur décrivant la catégorie de l'exception. Les utilisateurs peuvent créer leurs propres catégories, telles que « Exception de données » et « Exception de délai avant expiration ». Le produit Blue Prism assemble et se souvient automatiquement de tous les types d'exception créés dans tous les processus et objets métier. Cela signifie que les mêmes types peuvent être réutilisés globalement de manière cohérente pour tous les processus/objets.

    L'objet doit être enregistré avant que les types d'exceptions qui viennent d'être créés puissent être sélectionnés dans le menu déroulant Type d'exception.

  • Détails d'exception : une expression contient tous les détails pertinents de l'exception.
  • Préserver le type et le détail de l'exception actuelle : cette option peut être utilisée avec les étapes de récupération pour préserver les détails de l'exception, garantissant qu'un compte-rendu précis de l'erreur est conservé pour le log de session même après le nettoyage du processus. Si cette option est activée, les champs Type d'exception et Détails de l'exception sont désactivés, car le type et les détails sont conservés à partir de l'exception d'origine. Cela facilite le dépannage des exceptions et l'identification de la source de l'erreur.

Étape de récupération

Une étape de récupération offre un moyen de reprendre le contrôle suite à une exception. Si une exception survient sur une page, et que cette page contient une étape de récupération, le flux du processus se poursuit à ce niveau. Une fois que le flux du processus a été transféré à une étape de récupération, le processus est en mode Récupération, et le restera jusqu'à ce qu'une étape de reprise soit rencontrée, ou jusqu'à ce qu'une autre exception survienne. Si une autre exception survient alors que le mode Récupération est toujours actif, l'exception n'est pas capturée dans la même étape de récupération, mais « escaladée » au niveau supérieur.

Étape de reprise

Une étape de reprise est utilisée pour signaler que la récupération est terminée et que le traitement normal se poursuit. En règle générale, une étape de récupération sera suivie de plusieurs étapes de décision/choix menant à différents types de nettoyage (en fonction du type d'exception). Ces étapes peuvent ensuite être reliées au flux principal, ce qui doit être effectué via une étape de reprise. Sans étape de reprise, toute exception supplémentaire qui survient ne sera pas traitée par la même étape de récupération, mais escaladera au niveau supérieur, de la même manière que s'il n'y avait pas d'exception en cours. Une fois l'étape de reprise passée, le traitement normal de l'exception aura lieu à nouveau.

Blocs

Un bloc est une région rectangulaire qui regroupe toutes les étapes se trouvant entièrement à l'intérieur. Un bloc peut contenir sa propre étape de récupération, qui traitera les exécutions qui surviennent dans ce bloc.

Visuellement, un bloc ressemble à un rectangle dont la zone interne est grisée. Le nom du bloc se trouve sur une étiquette dans le coin supérieur gauche. Ce champ est le seul disponible sur le formulaire de propriétés de bloc.

Lorsqu'un bloc est sélectionné dans la barre d'outils, un nouveau bloc peut être créé en faisant glisser la souris jusqu'à la taille souhaitée. La taille des blocs peut être modifiée en faisant glisser l'un des quatre coins. Le chevauchement des blocs est considéré comme une erreur. Si des blocs se chevauchent, ils seront affichés dans la validation du processus.

Fonctions d'exception

L'arborescence des fonctions de l'éditeur d'expression comprend une branche supplémentaire appelée Exceptions, contenant les trois fonctions d'exception suivantes : ExceptionText(), ExceptionDetail() et ExceptionStage(). Ces fonctions peuvent être utilisées depuis un calcul ou une décision lorsque le processus est en mode Récupération.

De plus, un troisième élément « Types » est présent, pouvant être développé et contenant tous les types Exception précédemment utilisés. Faire glisser ces éléments depuis l'arborescence colle une constante de type chaîne de caractères (comme « NomUtilisateurTropLong ») dans l'affichage Expression.

Dialogues de message d'exception

Les boîtes de dialogue de messages d'exception qui apparaissent généralement pendant le débogage ne s'affichent pas si l'exception est traitée par une étape de récupération. À la place, le flux du processus passe à l'étape de récupération. De plus, le message qui apparaissait autrefois dans une boîte de dialogue s'affiche désormais au-dessus de la barre de statut de Process Studio.

Visionneuse d'historique de log

La visionneuse d'historique de log est accessible en cliquant sur le bouton à droite de la barre de statut. Cliquer sur ce bouton fait apparaître une zone de texte affichant les dix dernières lignes de la sortie du log. C'est utile pour trouver la cause d'une exception, ou sa provenance si elle a été déclenchée par une sous-page.