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.
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.