Tratamento de exceções (depuração)
Uma exceção é uma situação anormal que ocorre enquanto um programa está em execução. Geralmente, exceções são indicações de problemas que você precisa depurar. Quando uma exceção ocorre, o depurador grava uma mensagem de exceção na janela Saída, a menos que ela esteja desativada na caixa de diálogo Caixa de diálogo Geral, Depuração, Opções.
O depurador pode ou não interromper a execução quando a exceção ocorrer.
Se uma exceção que não seja ASP.NET ocorrer e não for tratada, o depurador sempre interromperá a execução.
Você pode instruir o depurador a interromper a execução imediatamente quando uma exceção for lançada, antes que qualquer manipulador seja invocado. Para obter mais informações, consulte Como interromper quando uma exceção é lançada.
Se você estiver depurando com Apenas Meu Código, terá uma terceira opção. Você poderá instruir o depurador a interromper qualquer exceção que não for tratada por um manipulador no código do usuário (“Meu Código”). Para obter mais informações, consulte Como interromper exceções sem tratamento do usuário.
O ASP.NET tem um manipulador de exceção de nível superior que trata exceções para exibir páginas de erro para usuários do navegador. Esse manipulador de exceção de nível superior impedirá uma exceção sem tratamento de interromper o depurador, a menos que Apenas Meu Código esteja ativado. Verifique se você habilitou o Apenas Meu Código para a depuração do ASP.NET.
Lembre-se, se uma exceção ocorrer e não for tratada, o depurador sempre interromperá a execução. A configuração não tratada de usuário não altera isso.
O depurador do Visual Studio reconhece as seguintes categorias de exceções:
Exceções C++
Exceções Common Language Runtime
Assistentes de depuração gerenciados
Verificações em tempo de execução nativas
Exceções Win32
Exceções em tempo de execução do JavaScript
Exceções de acesso à memória GPU
A maioria das exceções tem manipuladores projetados para responder a uma exceção quando ela ocorrer. Isso fornece ao programa uma oportunidade de se recuperar de uma situação anormal. As verificações em tempo de execução nativas não têm manipuladores.
Em um aplicativo do Visual Basic, o depurador representa todos os erros como exceções, mesmo se você usar manipuladores de erro de estilo On Error.
Para Visual Basic e C#, o depurador agora possui um novo Assistente de Exceção que fornece mais informações quando ocorre uma exceção.
Os tópicos a seguir fornecem informações sobre como tratar exceções:
Usando verificações de tempo de execução sem a biblioteca em tempo de execução do C
-
Dica
(Somente Visual Basic e Visual C#) Se uma exceção não identificada ocorrer com o Assistente de exceção desativado, uma pseudovariável $exception será adicionada à janela Locais.Você pode expandir essa pseudovariável para consultar informações sobre a exceção.