Manejo de excepciones

Virtual member manager informa de una condición de error a llamante en forma de una excepción.

Virtual member manager no genera ningún suceso y no responde a ninguna notificación. Virtual member manager registra el error e informa de la condición de error al llamante en forma de una excepción que contiene el código de error específico del depósito y la información del depósito. En la mayoría de casos, las excepciones se vuelven a notificar al llamante. Se crean las subclases de WIMException para informar de los diversos tipos de errores o excepciones que se generan en virtual member manager. Si la excepción se genera debido a que el depósito o el registro no están disponibles y existe un código de reintento (recuperación automática), la excepción no se vuelve a emitir inmediatamente, aunque esté registrada. Se emite una excepción después de que el reintento falle y se requiere una acción del usuario para arreglar el problema.

WIMException sustituye a WMMException y proporciona todos los métodos que proporcionaba WMMException. Los adaptadores y proveedores pueden aprovechar estos métodos. Sin embargo, para mantener la compatibilidad con versiones anteriores, WIMException es compatible con WMMException mediante el puente de WebSphere Member Manager que transforma WMMExceptions en WIMExceptions y de nuevo WIMExceptions en WMMExceptions.

Excepciones de depósito

Las excepciones emitidas por los depósitos pueden tener métodos para recuperar el código de error y/o el mensaje de error (además de otros métodos específicos de la excepción). Los adaptadores utilizan estos métodos para construir WIMException o la subclase y establecer la información siguiente:
cause
Especifica cualquier excepción emitida por el depósito o un valor nulo si el depósito no ha generado ninguna excepción. Virtual member manager utiliza el recurso de encadenamiento de excepciones (Exception Chaining) de JDK 1.4 para crear la cadena de excepciones a medida que pasa por varios componentes de virtual member manager.
rootErrorCode
Especifica un código de error entero específico del depósito. Normalmente es el código de error real devuelto por el depósito. Si el depósito emite una excepción o devuelve un mensaje de error, el adaptador debe recuperar el código de error de la excepción y establecer la causa raíz en la WIMException generada de modo que la causa raíz se pueda registrar en el archivo de rastreo para el análisis del problema de excepción. Una vez establecido el código de error, no debe sobrescribirse.
rootErrorMessage
Especifica un mensaje de error específico del depósito. Normalmente es el mensaje de error real devuelto por el depósito. Si el depósito emite una excepción, el adaptador debe recuperar el mensaje de error de la excepción y establecer la causa raíz en la WIMException generada de modo que la causa raíz se pueda registrar en el archivo de rastreo para el análisis del problema de excepción. Una vez establecido el mensaje de error, no debe sobrescribirse.
rootErrorSource
Especifica una serie de identificador de depósito que se utiliza para identificar exclusivamente un depósito como origen del error.
El adaptador también registra (utilizando las API JSR-47) la excepción el código de error y el mensaje de error en el formato original en el archivo de registro de virtual member manager. Todos los adaptadores se graban en el mismo archivo de registro. Si se activa el rastreo, el mensaje de error también se puede registrar en el archivo de rastreo. Las aplicaciones pueden registrar la excepción en sus archivos de registro.

Mientras pasan por diferentes capas de virtual member manager, si la excepción deriva en otra excepción, los códigos rootErrorCode, rootErrorMessage y rootErrorSource se copian de la excepción original y la causa se establece en la recepción recibida por dicha capa.

El adaptador comunica la condición de error a virtual member manager mediante una excepción específica de virtual member manager, es decir WIMException o su subclase. La excepción WIMException construida por los adaptadores proporciona métodos para establecer el error devuelto por los depósitos que les permite propagar el código y/o el mensaje de error de nivel bajo al llamante.

En algunos casos, en lugar de devolver el código de error, el depósito podría devolver un mensaje de error o una excepción que contenga el mensaje de error. A su vez, el mensaje de error podría contener el código de error. El adaptador debe extraer el código o el mensaje de error y establecerlos en la excepción WIMException. Todas las excepciones definidas en virtual member manager son subclases de WIMException y pueden añadir métodos específicos de la excepción.



Condiciones de uso | Comentarios