Manipulação de Exceção

O virtual member manager relata a condição de erro para o responsável pela chamada na forma de uma exceção.

O virtual member manager não gera qualquer evento e não responde a qualquer notificação. O virtual member manager registra o erro e relata a condição de erro para o responsável pela chamada na forma de uma exceção que contém o código de erro específico de repositório e as informações de repositório. Na maioria dos casos, as exceções são relatadas de volta ao responsável pela chamada. Subclasses do WIMException são criadas para relatar diversos tipos de erros ou exceções geradas no virtual member manager. Se a exceção for gerada devido à não disponibilidade de repositório ou registro e existe código de nova tentativa (recuperação automática), então, a exceção não é emitida de volta imediatamente, embora seja registrada. Uma exceção é emitida depois que a nova tentativa falha e uma ação do usuário é requerida para corrigir o problema .

WIMException substitui WMMException e fornece todos os métodos que foram fornecidos por WMMException. O adaptadores e projetores podem explorar esses métodos. No entanto, para manter a retrocompatibilidade, WIMException é compatível com WMMException através da ponte do WebSphere Member Manager que transforma WMMExceptions em WIMExceptions e WIMExceptions de volta para WMMExceptions.

Exceções de Repositório

Exceções emitidas pelos repositórios podem ter métodos para recuperar o código de erro ou a mensagem de erro ou ambos (além de outros métodos específicos da exceção). Os adaptadores utilizam esses métodos para construir WIMException ou sua subclasse e configurar as seguintes informações:
causa
Especifica qualquer exceção emitida pelo repositório ou nula se o repositório não gerar qualquer exceção. O virtual member manager utiliza o recurso Encadeamento de Exceções do JDK 1.4, para construir o encadeamento de exceções conforme ele passa através dos diversos componentes do virtual member manager.
rootErrorCode
Especifica um código de erro inteiro específico de repositório. Normalmente, esse é o código de erro atual retornado pelo repositório. Se uma exceção for emitida ou uma mensagem de erro foi retornada pelo repositório, o adaptador deverá recuperar o código de erro da exceção e configurar a causa raiz na WIMException gerada, para que a causa raiz seja registrada no arquivo de rastreio para análise do problema de exceção. Depois que o código de erro for configurado, ele não deve ser sobrescrito.
rootErrorMessage
Especifica uma mensagem de erro específica de repositório. Normalmente, essa é a mensagem de erro atual retornada pelo repositório. Se a exceção for emitida pelo repositório, o adaptador deverá recuperar a mensagem de erro da exceção e configurar a causa raiz na WIMException gerada, para que a causa raiz seja registrada no arquivo de rastreio para análise do problema de exceção. Depois que a mensagem de erro for configurada, ela não deve ser sobrescrita.
rootErrorSource
Especifica uma cadeia identificadora de repositório que é utilizada para identificar exclusivamente o repositório como a origem do erro.
O adaptador também registra (utilizando APIs JSR-47) a exceção, o código de erro e a mensagem de erro na sua forma original no arquivo de log do virtual member manager. Todos os adaptadores gravam no mesmo arquivo de log. Se o rastreio for ligado, então a mensagem de erro pode também ser registrada no arquivo de rastreio. Os aplicativos podem registrar a exceção nos seus próprios arquivos de log.

Ao passar através das diferentes camadas no virtual member manager, se a exceção estiver sendo agrupada em uma outra exceção, o rootErrorCode, a rootErrorMessage e a rootErrorSource são copiadas da exceção original e a causa é configurada para a exceção recebida por aquela camada.

O adaptador comunica a condição de erro ao virtual member manager por uma exceção específica do virtual member manager, isto é, WIMException ou sua subclasse. A WIMException construída pelos adaptadores fornece métodos para configurar um erro retornado pelos repositórios para capacitá-los a propagar o código ou mensagem de erro de nível baixo, ou ambos, ao responsável pela chamada.

Em alguns casos, em lugar de retornar o código de erro, o repositório poderá retornar uma mensagem de erro ou uma exceção que contenha a mensagem de erro. A mensagem de erro, por sua vez, poderá conter o código de erro. O adaptador deverá extrair o código ou mensagem de erro e configurá-los na WIMException. Todas as exceções definidas no virtual member manager são subclasses da WIMException e podem incluir métodos específicos de exceção.



Termos de uso | Feedback