Atenção: esse artigo tem uma palestra complementar. Clique e assista!
Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este artigo mostra como manipular exceções em aplicações .NET (aplicações Windows Forms e Web). No decorrer do artigo serão apresentadas as técnicas para tratamento de exceções em nossas aplicações e também as técnicas para lançar exceções (para validar uma regra de negócios por exemplo). Veremos também cromo criar nossas próprias exceções derivando de System.Exception.
Para que serve
Serve para qualquer tipo de aplicação, afinal tratamento de exceções é uma prática que deve ser sempre seguida. Aplicações sem tratamento de exceções podem apresentar comportamentos indesejados, dados inconsistentes e aparentam ser pouco profissionais.
Em que situação o tema é útil
Tratamento de exceções é útil em todo e qualquer tipo de aplicação. Aplicações sem tratamento de exceções dão a impressão de serem pouco profissionais além de serem instáveis e inseguras. Utilizando tratamento de exceções podemos evitar que a aplicação apresente comportamento indesejado, gere dados inconsistentes e feche abruptamente sempre que ocorrer algum problema. É claro que nem sempre é possível recuperar-se de uma exceção, porém evitar que a aplicação prossiga e gere dados inconsistentes é o mínimo que se espera de uma aplicação de alto nível.
Resumo do DevMan
O tratamento de exceções é um hábito extremamente saudável que torna as aplicações mais robustas, seguras e estáveis. Neste artigo veremos como manipular exceções em aplicações .NET, veremos as técnicas para tratar e lançar exceções em nossas aplicações Desktop e Web. Através de exemplos práticos veremos também como criar nossa própria exceção (para evitar que alguma regra de negócio seja quebrada, por exemplo) herdando de System.Exception, a classe mãe de todas as exceções.
Neste artigo veremos como manipular (lançar e tratar) exceções em nossas aplicações .NET de maneira profissional. Como exemplo veremos o tratamento de exceções em dois tipos de aplicações, Desktop e Web. Serão mostradas através de exemplos práticos as técnicas necessárias inclusive para lançar uma exceção durante o ciclo de execução da aplicação (para validar uma regra de negócios, por exemplo).
O tratamento de exceções é um assunto extremamente importante em qualquer tipo de aplicação, seja desktop, web, mobile etc. Imagine que o usuário está trabalhando em sua aplicação e de repente alguma exceção é lançada e a aplicação é fechada. É claro que nem sempre é possível se recuperar de uma exceção. Porém, é sempre interessante mostrar ao usuário uma mensagem amigável e evitar que a aplicação prossiga evitando assim que informações inconsistentes sejam geradas.
Um primeiro exemplo
Em um primeiro exemplo veremos uma aplicação desktop simples (veja a Figura 1) sem tratamento de exceções, que soma dois números digitados pelo usuário em duas caixas de texto. Aparentemente nenhum erro poderia ocorrer, afinal somar dois números é uma operação trivial, não exigindo nenhum tipo de regra. O código exibido na Listagem 1 é executado após o usuário clicar no botão “Calcular”.
Figura 1. Exemplo de aplicação sem tratamento de erros
Listagem 1. Código executado após o usuário clicar no botão “Calcular”
private void btnCalcular_Click(object sender, EventArgs e)
{
int calculo;
calculo = Convert.ToInt16(txtNumero01.Text) +
Convert.ToInt16(txtNumero02.Text);
txtResultado.Text = calculo.ToString();
}
Ao executar o código da Listagem 1 utilizando os seguintes valores: 32.767 para o valor 1 e 1 para o valor 2 (conforme pode ser visto na Figura 2) o .NET Framework lança a exceção vista na Figura 3. O que aconteceu foi o seguinte: Um Int16 em C# aceita valores na seguinte faixa: -32.768 até 32.767. Ao digitarmos 32.768 a instrução falhou no momento de converter o valor 32.768 para um Int16:
...