Compartilhar via


Depurar exceções de 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 estão no Gerenciamento de Exceções com o Depurador.

Para depurar exceções não tratadas do ASP.NET, certifique-se de que o depurador pare nelas. O runtime do ASP.NET tem um manipulador de exceção de nível superior. Portanto, o depurador nunca quebra em exceções sem tratamento por padrão. Para acessar o depurador quando uma exceção é lançada, você deve selecionar a configuração Interromper quando Lançada para essa exceção específica na caixa de diálogo Exceções.

Se você habilitou Just My Code, Interromper quando lançada não faz 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 é do sistema, e então ele interrompe. Como resultado, você não precisa percorrer o código do sistema quando ocorre uma exceção.

Just My Code oferece outra opção que pode ser útil: Continuar quando não 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 nega o efeito do manipulador de exceção de ASP.NET de nível superior, pois esse manipulador está no código não usuário.

Para habilitar a depuração de exceções de ASP.NET com Just My Code

  1. No menu Depurar, clique nasconfigurações de Exceção do >.

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

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

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

    Para usar a configuração Continue When Unhandled in User Code, Just My Code deve estar habilitado.

    Se você quiser habilitar Continuar Quando Não Tratado no Código do Usuário, clique com o botão direito do mouse na linha e selecione a opção de continuar, em seguida, desmarque a linha correspondente à exceção.

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

  • Coloque try ... catch blocos ao redor do código que podem gerar exceções que você pode prever e saber como lidar. Por exemplo, se o aplicativo estiver fazendo chamadas para um Serviço Web XML ou diretamente para um SQL Server, esse código deverá estar em blocos try... catch porque há inúmeras exceções que podem ocorrer.