segunda-feira, 13 de agosto de 2012

O bloco try - catch é usado para manipular exceções e tratar erros.
Basicamente, a sequencia de execução dos blocos são: try, catch e depois o finally.
Dentro do bloco try irá acontecer determinada ação do programa, caso haja um erro, o bloco executado será o catch e independente do que aconteça, o bloco finally será executado. Por exemplo:

int n;

Console.WriteLine("Digite um número inteiro: ");
   
    // inicia o try
   try
   {
        // le um inteiro do teclado
       n = Convert.ToInt32(Console.ReadLine());
   }
    // declaramos ex como do tipo Exception
   catch (Exception ex)
   {
        // mostra mensagem de erro
       Console.WriteLine("Esse nao é um numero valido!!!");
        // erro interno do .Net Framework
       Console.WriteLine("\nMensagem de Erro: " + ex.Message);
       // tipo de erro do .Net Framework
       Console.WriteLine("\nTipo de Erro: " + ex.GetType().ToString());
    }
    finally
    {
       // faça alguma coisa aqui
    }

   Console.ReadKey();


Explicando...


Diretamente, o programa entra no bloco try e tenta executar o comando, no caso, ler o valor n do teclado, que no caso é do tipo inteiro.
Caso o valor digitado seja um numero inteiro, o programa vai para o bloco finally e pula o catch. Caso o numero não seja um inteiro um inteiro, o programa vai para o bloco catch.
Reparem que existe uma declaração no bloco catch: catch (Exception ex). A variavel ex que foi declarada, será possibilitada de receber os comandos para o tratamento de erros, assim como informar para o usuário, qual a mensagem de erro, utilizando: ex.Message e o tipo do erro, utilizando ex.GetType.
No ex.GetType(), reparem que tive que converter o tipo para string para ser exibido: ex.GetType().ToString();
O bloco finalliy é opcional, não sendo necessário dentro dessa instrução, mas o bloco catch é necessário se houver o bloco try.

É isso aí galera, abraços e até a próxima!!!

Categories: ,

2 comentários:

  1. Lucas14.8.12


    Eh isso aew, o professor Cristiano voltou... kkk
    ow man , legal esse negocio aew do try...

    ResponderExcluir
  2. haha... Vou ver se consigo postar uma ou duas postagens por dia pra galera. Abraço

    ResponderExcluir