Studio
2020.10
False
Image de fond de la bannière
Non pris en charge par l'assistance
Guide de l’utilisateur de Studio
Dernière mise à jour 20 déc. 2023

Gestionnaire global d'exceptions

Le Gestionnaire global d'exceptions (Global Exception Handler) est un type de workflow conçu pour déterminer le comportement du projet lorsque vous rencontrez une erreur d'exécution. Seul un Gestionnaire global d'exceptions (Global Exception Handler) peut être défini par projet d'automatisation.

Remarque : le Global Exception Handler n'est pas disponible pour les projets de bibliothèques, uniquement les processus.

Le Gestionnaire global d'exceptions (Global Exception Handler) comprend deux arguments, qui ne doivent pas être supprimés.

Le premier argument est errorInfo avec la direction Entrée (In) et il stocke les informations sur l'erreur générée et le workflow qui a échoué. Le niveau d'erreur à consigner peut être défini dans l'activité Log Message.
Remarque : utilisez la propriété ActivityInfo de errorInfo pour obtenir le nom de l'activité qui a levé l'exception et affichez-la dans le panneau Sortie (Output).
Le deuxième argument, result, a la direction de sortie (Out) et est utilisé pour déterminer le prochain comportement du processus lorsqu'il rencontre une erreur. Les valeurs suivantes peuvent être affectées à l'argument result :
  • Continuer (Continue) : l'exception est levée à nouveau.
  • Ignorer (Ignore) : l'exception est ignorée et l'exécution passe à l'activité suivante.
  • Nouvelle tentative (Retry ) : l'activité qui a généré l'exception est retentée. Utilisez la méthode RetryCount pour errorInfo afin de compter le nombre de nouvelles tentatives de l'activité.
  • Abandonner (Abort) : l'exécution s'arrête après l'exécution du Gestionnaire global d'exceptions (Global Exception Handler) actuel.

    Remarque : tout workflow peut être marqué comme Global Exception Handler dans Studio, sauf pour les projets de bibliothèques.

Traitement des erreurs lors du débogage

Lorsqu'une exception est détectée lors du débogage, l'activité défaillante est mise en surbrillance, l'exécution est suspendue et le type et les détails de l'exception sont mentionnés dans les panneaux Variables locales (Locals) et Pile d'appels (Call Stack).

Desactions de débogage telles que Continuer(Continue), Arrêter(Stop), Réessayer(Retry), Ignorer(Ignore), Redémarrer (Restart) et Pas à pas lent ( Slow Step ) sont disponibles dans le ruban. Ignorer (Ignore) permet de poursuivre l'exécution à partir de l'activité suivante.

Le bouton Nouvelle tentative (Retry) tente à nouveau d'exécuter l'activité en cours, sans que le Global Exception Handler n'intervienne. L'action Continuer (Continue) exécute le gestionnaire d'exception global, en tenant compte des valeurs précédemment choisies pour l'argument result, soit Continuer (Continue), Ignorer (Ignore), Nouvelle tentative (Retry) ou Abandonner (Abort).
Remarque :

Lorsque vous utilisez le Gestionnaire global d'exceptions (Global Exception Handler) avec un projet qui comprend une activité Try Catch, veillez à regrouper les activités dans une Séquence (Sequence) à l'intérieur du conteneur Try. Sinon, le Gestionnaire global d'exceptions (Global Exception Handler) ne s'exécute pas.

Dans le cas d'activités imbriquées, le Gestionnaire global d'exceptions (Global Exception Handler) s'exécute pour chaque activité de la pile d'appels. En revanche, il n'exécute pas d'activités directement encapsulées dans Try Catch, sauf si elles sont contenues dans une activité.

Exemple d'utilisation du Gestionnaire global d'exceptions

L'exemple suivant montre le comportement du projet lorsqu'une exception est levée lors de l'exécution.

Le projet d'automatisation est défini pour cliquer à l'intérieur d'un document Bloc-notes vide et enregistré, taper du texte et fermer l'application, mais pas avant de cliquer sur le bouton Enregistrer pour l'enregistrer.

Pour contrôler le comportement du workflow en cas d'erreur, le Gestionnaire global d'exceptions (Global Exception Handler) retente l'activité trois fois, puis abandonne avec un message d'erreur.

Création du workflow

  1. Créez un processus vierge (Blank Process) en suivant les étapes de la page Création d'un processus de base.
  2. Ouvrez Bloc-notes et enregistrez un document sur votre machine.
  3. Dans le panneau Activités (Activities), faites glisser une activité Type Into vers le panneau Concepteur (Designer). L'activité est automatiquement ajoutée à une Séquence (Sequence).
  4. Dans l'activité Type Into, cliquez sur Indiquer à l'écran (Indicate on screen). Studio réduit et permet de cliquer à l'intérieur de la fenêtre Bloc-notes pour créer le sélecteur. Dans le champ de texte, entrez le texte souhaité entre guillemets.
  5. Dans le panneau Activités (Activities), ajoutez une activité Send Hotkey au workflow. Indiquez la fenêtre Bloc-notes (Notepad) et sélectionnez Ctrl dans l'activité, entrez s dans le champ Clé (Key). Cela enregistre le document Bloc-notes après la saisie du texte.
  6. Dans le panneau Activités (Activities), ajoutez une activité Close Application au workflow. Indiquez la fenêtre Bloc-notes (Notepad) à l'aide de l'option Indiquer à l'écran (Indicate on screen). Le workflow obtenu doit ressembler à ceci :


Ajout d'un Gestionnaire global d'exceptions

  1. Dans l'onglet Conception (Design) faisant partie du Ruban (Ribbon), sélectionnez Nouveau (New) > Gestionnaire global (Global Handler). La fenêtre Nouveau gestionnaire global (New Global Handler) s'ouvre. Entrez un Nom (Name) pour le gestionnaire et enregistrez-le dans le chemin du projet. Cliquez sur Créer (Create), un Gestionnaire global d'exceptions (Global Exception Handler) est ajouté au projet d'automatisation.
  2. Dans l'onglet Variables (Variables), créez une variable Int32 nommée retryCount, définissez son étendue sur l'ensemble du Global Exception Handler et laissez le champ Valeur par défaut (Default value) vide. La variable stocke le nombre de nouvelles tentatives et augmente le nombre de 1 chaque fois qu'une erreur est rencontrée.
  3. Créez une variable String nommée failedActivity et définissez son étendue sur l'ensemble du workflow. Cette variable stocke le nom de l'activité qui a généré une erreur et l'affiche dans le panneau Sortie (Output).
  4. Dans le panneau Activities, ajoutez une activité Assign sous le Log Error dans la séquence Global Handler. Ajoutez le retryCount à l'activité et affectez-lui l'expression errorInfo.RetryCount, qui compte le nombre de fois que l'exception est levée.
  5. Ajoutez une autre activité Assign dans laquelle assignez l'expression errorInfo.ActivityInfo.Name à la variable failedActivity. À ce stade, le workflow devrait ressembler à ceci :


  6. Ajoutez une activité If au flux de travail. Définissez la condition sur retryCount < 3 pour limiter le nombre de tentatives à 3.
  7. Dans l'élément activité Assign de la catégorie Then, affectez ErrorAction.Retry à la variable result pour que le Gestionnaire global d'exceptions (Global Exception Handler) retente l'activité qui a levé l'exception.
  8. Dans la catégorie Sinon, attribuez le ErrorAction.Abort au result pour que le Global Exception Handler interrompe l'exécution lorsque la condition est remplie. La section If doit ressembler à ceci :


Lorsque le Gestionnaire global d'exceptions (Global Exception Handler) rencontre une exception, il consigne le nom de l'activité défaillante et commence à relancer l'activité trois fois. S'il rencontre la même exception chaque fois et que le nombre de nouvelles tentatives atteint 3, l'exécution est abandonnée au niveau de l'activité qui a lancé l'exception.

Si lors d'une nouvelle tentative, une exception est rencontrée, l'exécution du workflow continue et le Gestionnaire global d'exceptions (Global Exception Handler) n'intervient pas.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.