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.
- 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.
- La información del suceso de error se captura en las variables tw.error.code y tw.error.data . Para obtener más información, consulte API de JavaScript para el desarrollo de servicios de usuario del lado del cliente.
- Cuando asocia el suceso de error a una variable, los sucesos cuyos tipos de datos son incompatibles se descartan por filtración y los datos se capturan en una variable local.
- 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.
| Icono | Suceso de error | Descripción |
|---|---|---|
![]() |
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.
Para obtener más información, consulte Captura de errores utilizando sucesos de error intermedios. |
![]() |
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. |
![]() |
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. |


