Studio
2020.10
False
Imagen de fondo del banner
Sin asistencia
Guía de usuario de Studio
Última actualización 20 de dic. de 2023

Controlador global de excepciones

El Controlador global de excepciones es un tipo de flujo de trabajo diseñado para determinar el comportamiento del proyecto al encontrar un error de ejecución. Solo se puede establecer un Controlador global de excepciones por proyecto de automatización.

Nota: El Controlador de excepciones globales no está disponible para proyectos de biblioteca, solo para procesos.

El Controlador global de excepciones tiene dos argumentos que no se deben eliminar.

El primer argumento es errorInfo con la dirección En y almacena información sobre el error que se ha lanzado y el flujo de trabajo que falló. El nivel de error que se puede registrar en la actividad Mensaje de registro.
Nota: Usa la propiedad ActivityInfo para errorInfo para obtener el nombre de la actividad que ejecutó la excepción y verla en el panel Salida.
El segundo argumento, result, tiene la direcciónFuera y se usa para determinar el siguiente comportamiento del proceso cuando se encuentra un error. Los siguientes valores se pueden asignar al argumento result.
  • Continuar: la excepción se vuelve a ejecutar.
  • Ignorar: la excepción se ignora y la ejecución continúa desde la siguiente actividad.
  • Reintentar: la actividad que ejecutó la excepción se vuelve a intentar. Usa el método RetryCount para errorInfo para contar el número de veces que se ha recuperado.
  • Abortar: la ejecución se detiene después de ejecutar el Controlador de excepciones global actual.

    Nota: Cualquier flujo de trabajo puede ser marcado como Controlador de excepciones global en Studio excepto para proyectos de biblioteca.

Gestión de errores durante la depuración

Cuando se detecta una excepción durante la depuración, se resalta la actividad que ha fallado, se detiene la ejecución y se mencionan el tipo y los detalles de la excepción en los paneles Locales y Pila de llamadas.

Lasacciones de depuración como Continuar, Detener, Reintentar, Ignorar, Reiniciar y Paso lento están disponibles en la cinta. Ignorar se utiliza para continuar la ejecución desde la siguiente actividad.

El botón Reintentar intenta ejecutar de nuevo la actividad actual sin que actúe el Controlador de excepciones global. La acción Continuar ejecuta el Controlador de excepciones teniendo en cuenta los valores de la opción previamente para el argumento result, ya sean Continuar, Ignorar, Reintentar o Abortar.
Nota:

Al usar el Controlador global de excepciones con un proyecto que incluye un Intento de captura, asegúrate de agrupar las actividades en una Secuencia dentro del contenedor Intentar. De lo contrario, el Controlador global de excepciones no se ejecutará.

En el caso de actividades anidadas, se ejecuta el Controlador global de excepciones para cada actividad de la pila. Sin embargo, no se ejecuta para las actividades encapsuladas directamente en un Intento de captura, a menos que estén en una actividad.

Ejemplo de uso del Controlador global de excepciones

El siguiente ejemplo muestra el comportamiento de un proyecto cuando se produce una excepción durante la ejecución.

El proyecto de automatización está configurado para hacer clic dentro de un documento del Bloc de notas guardado vacío, escribir algún texto y luego cerrar la aplicación, pero no sin antes hacer clic en el botón de guardar.

Para controlar el flujo de trabajo en caso de un error, el Controlador de excepciones global reintenta la actividad tres veces y luego la aborta con un mensaje de error.

Crear el flujo de trabajo

  1. Crea un Proceso vacío siguiendo los pasos de la página Crear proceso básico.
  2. Abre el Bloc de notas y guarda un documento en tu máquina.
  3. En el panel Actividades, arrastra una actividad Escribir al panel Diseñador. La actividad se añade automáticamente a una Secuencia.
  4. En la actividad Escribir en, haz clic en Indicar en la pantalla. Studio se minimiza y te permite hacer clic en la ventana del Bloc de notas para crear el selector. Escribe el texto deseado entre comillas en el campo de texto.
  5. En el panel Actividades, añade una actividad Enviar tecla de acceso rápido al flujo de trabajo. Indica la ventana del Bloc de notas y selecciona Ctrl en la actividad y escribe s en el campo Clave. Esto guarda el documento del Bloc de notas una vez se haya escrito el texto.
  6. Desde el panel Actividades, añade una actividad Cerrar aplicación al flujo de trabajo. Indica la ventana de Bloc de notas usando Indicar en la pantalla. El flujo de trabajo resultante debe tener este aspecto:


Añadir un Controlador global de excepciones

  1. En la pestaña Diseño de la Cinta, selecciona Nuevo > Controlador global. Se abre la ventana Nuevo controlador global. Escribe un Nombre para el controlador y guárdalo en la ruta del proyecto. Al hacer clic en Crear se añade un Controlador global de excepciones al proyecto de automatización.
  2. En la pestaña Variables, crea una variable Int32 llamada retryCount, establece su ámbito en todo el Controlador de excepciones global, y deja el campo de valor Por defecto vacío. La variable almacena el número de reintentos y aumenta el número 1 veces cada vez que se encuentra un error.
  3. Crea una variable Cadena denominada failedActivity y establece su ámbito en todo el flujo de trabajo. Esta variable almacena el nombre de la actividad que ha fallado y la revela en el panel Salida.
  4. En el panel Actividades, añade una actividad Asignar debajo de Error de registro en la secuencia de Controlador global. Añade el retryCount a la actividad y asígnalo a la expresión errorInfo.RetryCount, que cuenta el número de veces que se produce una excepción.
  5. Añade otra actividad Asignar que asigne la expresión errorInfo.ActivityInfo.Name a la variable failedActivity. Tras esto, el flujo de trabajo debe tener este aspecto:


  6. Añade una actividad Si al flujo de trabajo. Establece la Condición en retryCount < 3 para limitar el número de reintentos a 3.
  7. En la parte de Asignar actividad de la categoría Entonces, asigna el ErrorAction.Retry a la variable result para que el Controaldor global de excepciones reintente la actividad que haya causado la excepción.
  8. En la categoría Otro, asigna ErrorAction.Abort a la result para que el Controlador global de excepciones aborte la ejecución cuando se cumpla la condición. La actividad Si debe tener este aspecto:


Cuando el Controlador global de excepciones encuentra una excepción, registra el nombre de la actividad que ha fallado e intenta ejecutar la actividad tres veces. Si encuentra la misma excepción cada vez y el número de reintentos alcanza 3, la ejecución se aborta en el ámbito de la actividad que lanzó la excepción.

Si durante uno de los reintentos no se encuentra una excepción, la ejecución del flujo de trabajo continúa y el Controlador global de excepciones no interviene.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.