Partilhar via


Depurar exceções do ASP.NET

A depuração de exceções é uma parte importante do desenvolvimento de um aplicativo ASP.NET robusto. Informações gerais sobre como depurar exceções encontram-se em Gerenciando Exceções com o Depurador.

Para depurar as exceções não tratadas do ASP.NET, você deve verificar se o depurador é interrompido para elas. O runtime do ASP.NET possui um manipulador de exceção de nível superior. Portanto, por padrão, o depurador nunca é interrompido em exceções não tratadas. Para entrar no depurador quando uma exceção é lançada, é necessário selecionar a configuração Interromper quando Lançado para essa exceção específica na caixa de diálogo Exceções.

Se você tiver habilitado a opção Apenas Meu Código, Interromper quando Lançado não fará com que o depurador seja interrompido imediatamente se uma exceção for lançada em um método .NET ou em outro código do sistema. Em vez disso, a execução continua até que o depurador atinja código que não seja do sistema, e então é interrompida. Como resultado, você não precisará percorrer o código do sistema quando ocorrer uma exceção.

O recurso Apenas Meu Código lhe dá outra opção que pode ser útil: Continuar Quando Não For Tratado no Código do Usuário. Se você desabilitar essa configuração para uma exceção, o depurador interromperá a execução no código do usuário, mas somente se a exceção não for capturada e tratada pelo código do usuário. Essa configuração anula o efeito do manipulador de exceção de nível superior do ASP.NET, pois esse manipulador está em código de não usuário.

Para ativar a depuração de exceções do ASP.NET com Apenas Meu Código

  1. No menu Depurar, clique em Windows>Configurações de exceção.

    A caixa de diálogo Exceções é exibida.

  2. Em Exceções de Common Language Runtime, selecione a linha para a exceção que você deseja interromper quando ela for lançada.

  3. Se você deseja desabilitar Continuar Quando Não Tratado no Código do Usuário, clique com o botão direito do mouse na linha e desmarque a opção, se ela já estiver selecionada.

    Para usar a configuração Não manipulado pelo usuário, Apenas Meu Código deve estar habilitada.

Para usar as práticas recomendadas para o tratamento de exceção do ASP.NET

  • Coloque blocos de try ... catch em torno do código que pode lançar exceções que você pode prever e sabe como manipular. Por exemplo, se o aplicativo estiver fazendo chamadas para um serviço Web XML ou diretamente para o SQL Server, o código deve estar em blocos try … catch porque várias exceções podem ocorrer.