Manejo de errores en servicios de usuario del lado del cliente

Puede manejar errores en un servicio de usuario del lado del cliente mediante un manejador de sucesos de error autónomo o puede capturar errores en un paso determinado asociando un suceso de error de límite a un servicio individual. Para generar errores específicos y finalizar el proceso del servicio en un paso especificado, puede utilizar sucesos de fin de error.

Para capturar errores, puede utilizar sucesos de límite de error o manejadores de sucesos de error. Ambas opciones proporcionan la misma funcionalidad para capturar errores. La diferencia es la posición en el diagrama de la lógica de manejo de errores y el ámbito de los errores capturados.
  • Un suceso de límite de error captura errores que se generan desde el servicio al que está conectado. Puede estar conectado a un nodo de servicio invocado o a un nodo de servicio de usuario del lado del cliente anidado.
  • Un manejador de errores captura errores que se generan desde el servicio de usuario del lado del cliente y todos sus servicios anidados.

Puede configurar sucesos de límite y manejadores de sucesos de error para capturar todos los errores o errores específicos. Durante la ejecución, los sucesos de límite tienen prioridad sobre los manejadores de sucesos de error y los errores concretos tienen prioridad frente a los errores genéricos.

Puede especificar propiedades de error para capturar o emitir errores específicos, filtrar según el código de los tipos de error, y asociar el error a una variable después de la captura.
Errores definidos por el usuario y definidos por el sistema
Los errores específicos que un manejador de sucesos de error detecta pueden incluir los errores definidos por el usuario emitidos desde la jerarquía de modelos, concretamente, desde los servicios o servicios de usuario del lado del cliente que tienen un suceso final de error o errores definidos por el sistema. Las opciones de código de error para los errores definidos por el sistema son:
  • BPMBOSaveFailedError: detecta los errores de un servicio de guardado de objetos de negocio compartidos
  • BPMTaskOwnerError: detecta errores que se producen cuando se retira la propiedad de una tarea del usuario actual
Por ejemplo, un error definido por el sistema podría ser un error de propiedad de tarea que se produzca en tiempo de ejecución, cuando una tarea interactiva realizada por un usuario de Process Portal en una interfaz de usuario se reasigna desde una fuente externa a otro usuario. Un origen externo puede ser, por ejemplo, otro servicio o una reasignación de una llamada de API REST. Una vez que se ha reasignado la tarea, el usuario actual (el propietario de tarea inicial) recibe un error de propiedad cuando su trabajo en la tarea activa una interacción con el servidor. Para permitir que el usuario maneje el error, en el servicio de usuario del lado del cliente subyacente para la interfaz de usuario especificada, puede implementar un manejador de sucesos de error que detecta el error específico y proporciona la lógica que muestra el error.
Nota: Los errores de actividades de script del lado del cliente no se manejan a través de manejadores de sucesos de error. Generalmente, un error de actividad de script del lado del cliente genera un mensaje de error en la ventana del coach. Puede utilizar la herramienta de depuración del navegador para arreglar este problema. Utilizar bloques try/catch en el código JavaScript también es una buena práctica para la resolución de problemas.
Tabla 1. Uso de sucesos de error en servicios de usuario del lado del cliente
Icono Suceso de error Descripción
Icono que representa el suceso de error de límite en la paleta para servicios de usuario del lado del cliente. Suceso de límite de error. Es un suceso de error intermedio que está conectado con un servicio de nodo en un servicio de usuario del lado del cliente. Detecta errores y recibe datos de error del servicio al que está adjunto. Para definir el lugar donde se reanuda el servicio de usuario del lado del cliente después de capturar un error, puede conectar cada suceso de límite de error a una actividad que ejecuta la lógica de manejo de errores. Puede conectar un suceso de límite de error a cualquier nodo.

Se pueden conectar sucesos de límite de error con un nodo de servicio invocado o con un nodo de servicio de usuario del lado del cliente. Se puede volver a situar el suceso de límite de error a lo largo del límite del servicio. Puede eliminar el suceso del servicio o moverlo a otro servicio.

Clave de atajo Clave de atajo: B

Para obtener más información, consulte Captura de errores utilizando sucesos de error intermedios.

Icono que representa el manejador de sucesos de error en la paleta para servicios de usuario del lado del cliente. Manejador de sucesos de error global que captura errores en el servicio de usuario del lado del cliente y ejecuta lógica de tratamiento de errores Captura todos los errores o errores específicos. Se puede usar como un manejador de sucesos autónomo fuera de un servicio. La lógica de tratamiento de errores se implementa en el manejador de errores.

Puede utilizar varios manejadores de sucesos de error en un servicio de usuario del lado del cliente. Por ejemplo, puede configurar un manejador de sucesos de error para capturar un código de error determinado y un manejador de sucesos de error que captura todos los demás errores. Puede luego implementar una lógica diferente para manejar errores específicos y una lógica para manejar todos los demás errores.

Un manejador de sucesos de error que se usa en un servicio de usuario del lado del cliente anidado captura errores del servicio en el que está definido y de todos los servicios anidados debajo de él.

Para obtener más información, consulte Captura de errores utilizando manejadores de sucesos de error.

Icono que representa el suceso de finalización de error en la paleta para servicios de usuario del lado del cliente. Suceso de finalización de error que emite un error y finaliza el proceso del servicio de usuario del lado del cliente en el que está implementado. Genera un error concreto y finaliza el procesamiento del servicio de usuario del lado del cliente en el que se implementa. Un suceso de fin de error se puede conectar con cualquier nodo en un servicio de usuario del lado del cliente. Puede especificar un código de error y datos para el error.

Para obtener más información, consulte Emisión de errores mediante sucesos de finalización de error.