Home Artigos Eventos Forum Oportunidades Fotos Blogs Downloads
 
        Home
        Artigos
        Eventos
        Forum
        Oportunidades
        Fotos
        Blogs
        Downloads
Login
Registre-se



 
 

Revista MUNDO.NET - Parceiro .NET RAPTORS


Dica sobre Exception Management (EMAB)

Enviado por  em Tuesday, August 10, 2004 (ESAST)

Como uma única linha de código podemos armazenar a informação das exceções no log de eventos do sistema operacional, em outros repositórios ou ...

Miguel Ferreira
miguel.ferreira@dotnetraptors.com.br
www.southern.com.br



  O EMAB (Exception Management Application Block) apresenta um framework extensível para manipulação de exceções. Como uma única linha de código podemos armazenar a informação das exceções no log de eventos do sistema operacional, em outros repositórios ou até mesmo enviar notificações, bastando para isto criarmos um Custom Publisher que implementa as interfaces apropriadas (e.g. IExceptionPublisher). Tudo isto sem alterações notáveis no código da aplicação.

  O EMAB é ideal para ser utilizado como um dos blocos constituintes de nossas aplicações .NET. Vejamos como funciona.

  1. A aplicação ergue uma exceção, que deriva da classe BaseApplicationException fornecida no EMAB.

    Comentário: O EMAB pode publicar, também, exceções do tipo System.Exception (ou derivadas), mas somos encorajados a derivar nossas exceções da classe BaseApplicationException afim de nos beneficiarmos das informações adicionais (contexto) providas pela mesma.

  2. A Aplicação chama o método Publish da classe ExceptionManager.

  3. A Classe ExceptionManager utiliza a classe ExceptionManagerSectionHandler para recuperar as configurações de gerenciamento de exceções diretamente do arquivo de configuração. Podemos criar estas configurações em arquivos XML padrão, no arquivo de configuração da aplicação (app.config) ou mesmo no aqruivo de configuração da máquina (machine.config).

  4. As configurações de gerenciamento de exceções visam determinar como as exceções serão publicadas.

  5. Se nenhuma configuração é encontrada, as exceções são publicadas no log de eventos do windows por meio da classe DefaultPublisher. Se a aplicação possui as configurações de gerenciamento de exceções listadas no devido arquivo, os publicadores listados são, então, utilizados. Todos os publicadores devem implementar pelo menos uma das interfaces definidas no assembly de interfaces.

  6. Se uma exceção ocorrer durante a publicação efetivada por meio de um custom publisher, o gerenciador de exceções ergue uma CustomPublisherException e utiliza o default publisher para publica-la no log de eventos do windows.

Você pode baixar o EMAB clicando aqui.


Faça seu comentário...







O'Reilly