Examinar exceções e como elas são usadas
- 6 minutos
No início deste módulo, você aprendeu que os erros de tempo de execução em C# são chamados de exceções e que você precisa "pegá-los" antes que eles travem seu aplicativo. Sério? Capturar exceções antes que elas possam travar seu aplicativo soa mais como um videogame do que escrever um aplicativo. Então, o que significa exatamente "pegar" uma exceção? Para responder a essa pergunta, você precisa começar examinando mais de perto o que é uma exceção.
O que são exceções?
Aqui está uma definição mais formal que descreve o que é uma exceção e como uma exceção é usada em um aplicativo C#:
Em C#, erros no programa em tempo de execução são propagados através do programa usando um mecanismo chamado exceções. As exceções são lançadas pelo código que encontra um erro e capturadas pelo código que pode corrigir o erro. As exceções podem ser lançadas pelo tempo de execução do .NET ou pelo código em um programa. As exceções são representadas por classes derivadas de Exception. Cada classe identifica o tipo de exceção e contém propriedades que têm detalhes sobre a exceção.
Importante
Este treinamento não requer um conhecimento profundo das classes .NET. Não se preocupe se esta definição for um pouco confusa. Você pode usar exceções em seu código sem uma compreensão profunda das classes.
A documentação da Microsoft sobre exceções entra em grandes detalhes. No entanto, essa definição fornece as informações de que você precisa no momento. Especificamente, você precisa entender duas coisas:
- Você precisa entender o que são exceções.
- Você precisa entender como usar exceções em seus aplicativos.
Você pode pensar em uma exceção como uma variável que tem recursos extras. Você pode fazer o mesmo tipo de coisas com exceções que faz com variáveis, por exemplo:
- Você pode criar diferentes tipos de exceções.
- Você pode acessar o conteúdo de uma exceção.
O que significa "lançar" e "apanhar" uma exceção?
Os termos "arremesso" e "captura" podem ser explicados avaliando a definição de exceção.
A segunda frase da definição diz "As exceções são lançadas por código que encontra um erro e capturadas por código que pode corrigir o erro". A primeira parte desta frase informa que as exceções são criadas pelo tempo de execução do .NET quando ocorre um erro no código. A segunda parte da frase diz que você pode escrever código para capturar uma exceção que foi lançada. Além disso, o código que captura a exceção pode ser usado para concluir uma ação corretiva, esperançosamente mitigando a situação causada pelo código que resultou no erro. Em outras palavras, você pode escrever código que protege seu aplicativo quando ocorre um erro.
Depois de avaliar essa segunda frase da definição, você sabe o seguinte:
- Uma exceção é criada no tempo de execução quando seu código produz um erro.
- A exceção pode ser tratada como uma variável que tem algumas capacidades extras.
- Você pode escrever código que acessa a exceção e toma medidas corretivas.
A parte restante da definição informa que, se o tempo de execução do .NET detetar um erro, ele gerará a exceção. A exceção gerada contém informações sobre o erro que ocorreu. Seu código pode capturar uma exceção e corrigir o problema usando as informações armazenadas na exceção.
Recapitulação
Aqui estão algumas coisas importantes para lembrar desta unidade:
- As exceções são usadas em C# para propagar erros em tempo de execução e são representadas por classes derivadas da
Exceptionclasse. - As exceções são lançadas pelo código que encontra um erro e capturadas pelo código que pode corrigir o erro.
- Quando uma exceção é capturada, o código pode acessar seu conteúdo e tomar medidas corretivas para mitigar o erro.
- O tempo de execução do .NET gera exceções quando deteta um erro e a exceção contém informações sobre o tipo de erro que ocorreu.