Toda linguagem que se preze, nos fornece meio de tratar uma exceção. O tratamento de exceções é algo fundamental para a qualidade de nossos sistemas, porém, muitas das vezes acabamos por não fazer o nosso dever de casa e isso nos traz sérios problemas na manutenção de nossos sistemas. Hoje mostraremos como é o tratamento de exceções no C#.
No C#, o tratamento de exceções é feito através do seguinte bloco de código:
try
{
//Rotinas a serem executadas por sua aplicação
}
catch (Exception E)
{
//Bloco executado caso ocorra alguma exceção
}
finally {
//Bloco sempre executado ao final, independentemente de
//ter ocorrido erro ou não
}
O bloco de código acima, demonstra a estrutura do tratamento de exceções no C#. Dentro do bloco try, temos o que chamamos de “código protegido“. Abaixo, no catch, nós temos o código a ser executado caso ocorra alguma exceção no nosso código protegido. Por fim, temos o bloco finally, que sempre será executado.
Crie uma aplicação WindowsForms, inclua um botão no formulário e no click deste botão insira o seguinte código:
private void button1_Click(object sender, EventArgs e)
{
String str = "A";
int num = 0;
try
{
num = Convert.ToInt32(str);
}
catch (Exception E)
{
MessageBox.Show("Ocorreu um erro de conversão." + E.Message);
}
finally {
MessageBox.Show("Tentativa de conversão realizada");
}
}
Neste exemplo, forçamos um erro de conversão apenas para que você compreenda o que acontecerá. Ao clicarmos no botão, nossa aplicação tentará converter a string “A” para inteiro, lembrando que esse é o nosso código protegido que está dentro do Try. Como “A” não é um número válido, obteremos uma exceção, então o bloco catch será executado e receberemos uma mensagem informando que houve um erro na conversão.
Em seguida, será exibida outra mensagem, informando que houve a tentativa de conversão, pois conforme falamos acima, o finally sempre é executado.
É isso aí pessoal, vamos ficando por aqui, espero que tenham gostado e que as informações passadas sejam úteis no seu dia-a-dia.
Ricardo Coelho.