Utilizando tratamento de exceções em java

O principal objetivo deste artigo é explicar de forma simples e compacta o tratamento de exceção em java.

[ Hits: 23.072 ]

Por: Robson Fernando Gomes em 25/08/2011 | Blog: http://maguscode.blogspot.com/


Exemplificando tratamento de exceção



Imagine uma classe que tem um método principal main que tem como seu único objetivo alterar todas as letras de um frase para maiúscula utilizando o método toUpperCase() da classe String, caso a frase esteja nula e se tente usar o método toUpperCase() na mesma será lançada uma exceção de NullPointerException.

Primeiro vamos ver como ficaria a tal classe sem a utilização do try/catch.
/***
*
* @author Robson Fernando Gomes
*
*/
public class aumentaFrase {

  
   public static void main(String args[])
   {
      String frase = null;
      String novaFrase = null;
      
      novaFrase = frase.toUpperCase();
      
      System.out.println("Frase antiga: "+frase);

      System.out.println("Frase nova: "+novaFrase);
   }
  
  
}


Quando este código fosse executado o mesmo lançaria um NullPointerException, como poder ser visto na saída do console quando executamos tal programa:

Exception in thread "main" java.lang.NullPointerException
   at aumentaFrase.main(aumentaFrase.java:15)

Ou seja o mesmo tentou acessar um atributo de um objeto que estava nulo. Para ajudar a melhorar a situação deve-se usar o try/catch:
/***
*
* @author Robson Fernando Gomes
*
*/
public static void main(String args[])
   {
      String frase = null;
      String novaFrase = null;
      
      try{
        
      novaFrase = frase.toUpperCase();
      
      } catch(NullPointerException e) //CAPTURA DA POSSÍVEL exceção.
      {
         //TRATAMENTO DA exceção

         System.out.println("A frase inicial está nula, para solucionar tal problema, foi atribuído-lhe um valor default.");

         frase = "Frase vazia";
         novaFrase = frase.toUpperCase();
            
      }
      
      System.out.println("Frase antiga: "+frase);

      System.out.println("Frase nova: "+novaFrase);
      
      }
  
}


Quando este código fosse executado o mesmo lançaria um NullPointerException, porém esta exceção será tratada desta vez, sendo a mesma capturada pelo catch{...} e dentro deste bloco as devidas providências são tomadas, neste caso é atribuído um valor default a variável frase. A saída deste programa seria a seguinte:

A frase inicial está nula, para solucionar tal problema, foi atribuído-lhe um valor default.
Frase antiga: Frase vazia
Frase nova: FRASE VAZIA
Página anterior     Próxima página

Páginas do artigo
   1. Introdução e Tratando Exceções
   2. Exemplificando tratamento de exceção
   3. Comando finally
   4. Comando throw e throws
Outros artigos deste autor

Shell Script Para Iniciantes - Parte I

Leitura e escrita de arquivos utilizando Java

Leitura recomendada

Instalação do Java da Oracle em distros Debian-like

Programação orientada a objetos e o Java (parte 1)

Instalando e configurando o J2SE 5.0 no Linux

Java no Ubuntu 12.04 - Instalação à moda antiga

Programação orientada a objetos e o Java (parte 5)

  
Comentários
[1] Comentário enviado por danieltx em 28/08/2011 - 13:49h

Olá Robson. Excelente artigo.
Você poderia falar um pouco sobre a criação de sua própria classe de exceção?

[2] Comentário enviado por magotico em 29/08/2011 - 08:33h

Obrigado :)
Havia escrito a alguns dias atrás sobre a criar classes e exceção personalizadas o link segue abaixo:
http://www.vivaolinux.com.br/dica/Criar-excecoes/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts