Você está aqui: Inicio -> Dicas e Truques -> Java -> Aprenda a tratar erros em Java usando o bloco try...catch
Aprenda a tratar erros em Java usando o bloco try...catch
Esta dica foi visualizada 6876 vezes
Não encontrou o que estava procurando? Experimente nossa busca
Termo(s) da busca:

Categoria: Tratamento de Erros
Sub-Categoria: Passos Iniciais [Veja dicas relacionadas]


Aprenda a tratar erros em Java usando o bloco try...catch

A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:
try{
  // código que pode provocar erros
}
catch(Tipo_Exceção nome){
  // tratamento do erro
}
A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch.

Vamos ver um exemplo do uso de try...catch:
import java.io.*;

public class Estudos{
  public static void main(String[] args){
    try{
      DataInputStream in = new DataInputStream(
        new BufferedInputStream(
          new FileInputStream("conteudo.txt")));
        
      while(in.available() != 0)
        System.out.print((char) in.readByte());
    } 
    catch(IOException e){
      System.out.print(e.getMessage());
    }

    System.exit(0);
  }
}  
Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações.

Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro.

Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException:
import java.util.*;

public class Estudos{
  public static void main(String[] args){
    String palavra = "Java";    

    Scanner in = new Scanner(System.in);
    
    System.out.print("Informe um inteiro: ");
    int indice = in.nextInt();

    try{
      System.out.println("O caractere no índice " + 
        "informado é " + palavra.charAt(indice));
    }
    catch(StringIndexOutOfBoundsException e){
      System.out.println("Erro:" + e.getMessage());
    }
  }
}
Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado.
 
Veja mais Dicas & Truques na sub-categoria: Passos Iniciais
Veja mais Dicas & Truques de Java
Veja mais Dicas & Truques de outras linguagens
 
 
Visão Tributária - Curso de Nota Fiscal Eletrônica em Goiânia - GO
Referências
Tipos de dados da linguagem Java
Palavras-chave e palavras reservadas da linguagem Java
Tipos de dados da linguagem PHP
 
Dicas e truques de Java
Dicas e truques de C++
Dicas e truques de Delphi
http://www.arquivodecodigos.net
2000 - 2010 - Todos os direitos reservados a Osmar J. Silva
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734
E-Mail: suporte@recomende.com
MSN: osmar@recomende.com (só para negócios, por favor)

Desenvolvedor Responsável: Osmar J. Silva