O post Exception (exceções) no C# tem como objetivo explicar o que é Exception e como utiliza-la como um recurso valioso para a validação e interação com o usuário no momento em que ocorre um erro de programação em tempo de execução.
Exception (exceções) no C#
Muitas coisas podem dar errado quando um aplicativo é executado. Alguns erros podem ocorrer devido a falhas na lógica da aplicação e outros devido a condições fora do controle da mesma. Por exemplo, a aplicação não pode garantir que um arquivo existe no sistema de arquivos ou que um banco de dados necessário esteja online. Quando criamos um aplicativo, deve-se considerar uma forma de garantir que o mesmo funcione normalmente, mesmo quando haja problemas. É comum a prática de simplesmente verificar os valores de retorno dos métodos para garantir que eles tenham executado corretamente, no entanto, esta metodologia nem sempre é suficiente para lidar com todos os erros que podem ocorrer, pois:
- Nem todos os métodos retornam um valor.
- Quando se é necessário saber por que a chamada de método falhou, não só que ele falhou.
- Erros inesperados, como a falta de memória não pode ser tratado desta forma.
Tipos de exceções
Exception Class | Namespace | Descrição |
---|---|---|
Exception | System | Representa qualquer exceção que é gerada durante a execução de um aplicativo. |
SystemException | System | Representa todas as exceções levantadas pelo CLR. A classe SystemException é a classe base para todas as classes de exceção no namespace System. |
ApplicationException | System | Representa todas as exceções não fatais levantados por aplicações e não pela CLR. |
NullReferenceException | System | Representa uma exceção que é causado ao tentar usar um objeto que é nulo. |
FileNotFoundException | System.IO | Representa uma exceção causada quando um arquivo não existe. |
SerializationException | System.Runtime.Serialization | Representa uma exceção que ocorre durante o processo de serialização ou desserialização. |
try
{
comandos…
}
catch (NullReferenceException ex)
{
//caso ocorra alguma exceção de objetos nulos dentro do try,
//é criado um objeto do tipo NullReferenceException denominado ex,
//acessando as propriedades de ex é possível visualizar o número do erro e a mensagem do erro
MessageBox.Show(ex.Message);
}
catch(Exception ex)
{
//caso ocorra qualquer outro tipo de exceção que não seja de objetos nulos dentro do try,
//é criado um objeto do tipo Exception denominado ex,
//acessando as propriedades de ex é possível visualizar o número do erro e a mensagem do erro
MessageBox.Show(ex.Message);
}
Criando e disparando exceções
Também é possível criar um objeto de qualquer tipo de exceção e disparar a execução da mesma. Exemplo:
var ex = new NullReferenceException(“O parâmetro é nulo”); //cria o objetothrow ex; //dispara a execução da exceção
Acesse nosso canal no YouTube para visualizar outros vídeos sobre programação, como por exemplo Python, Java e Desenvolvimento de sistemas comerciais utilizando a linguagem C#.