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.