top of page
Buscar

Manipulação de exceções em Java: Lidando com erros e exceções.

Quando estamos desenvolvendo nosso código, temos como objetivo principal que ele funcione como o esperado, ou seja, sem nenhum tipo de erro. Existem situações entretanto, que nos forçam a considerar a possibilidade de um erro ocorrer.

Por exemplo, quando desenvolvemos um sistema integrado com outras ferramentas, é fundamental considerarmos que essas ferramentas possam não estar disponíveis no momento da execução do nosso código.


No exemplo citado, não considerar essa possível indisponibilidade momentânea poderia fazer com que, durante a utilização do nosso sistema, erros, bugs e / ou comportamentos inesperados viessem a ocorrer.



Sintaxe


Dessa forma, para tratar uma possível exceção dentro do nosso código tempos uma estrutura chamada "try/catch". Fazendo uma tradução não literal, podemos entendê-la como "tente/caso ocorra um erro". Sendo a sua sintaxe padrão a seguinte:



try {
    
    // Código a tentar executar...
    
} catch (Exception e) {

    // Código a executar caso o código dentro do "try" gerar alguma exceção.

};

Perceba que dentro da nossa cláusula "catch" definimos que ela vai receber uma instancia da classe "Exception". Esta classe é nativa do Java é já contem alguns métodos padrão interessantes para esse contexto de tratamento de erros, os dois mais utilizados são:


  • printStackTrace()

Este método gera no console da sua IDE, ou então arquivo de log do Tomcat, etc, uma descrição do erro gerado, contendo toda a sequência de operações que tentou-se executar e gerou o erro. Aqui, é exibida até o arquivo, classe e linha que gerou a exceção.

  • getLocalizedMessage()

Este método retorna uma mensagem mais limpa a respeito do erro ocorrido, a depender do tipo de erro encontrado pode não conter todas as informações necessárias a nível de desenvolvimento para a solução do problema, mas para nível de usuário pode servir.



Dentro dessa sintaxe podemos inserir quantas cláusulas "catch" forem necessárias. Existem situações em que diferentes tipos de exceções poderão ser retornadas do nosso código, podem ser adicionadas mais cláusulas catch caso seja necessário realizar uma operação diferente para cada tipo de erro retornado.


Além disso, temos ainda a cláusula "finally" para sgaratir que um código será executado após o tratamento das diversas exceções que podem ser geradas.


Exemplo:



try {
    
    // Código a tentar executar...
    
} catch (NullPointerException e) {

    // Código a executar caso o código dentro do "try" gerar alguma exceção do tipo NullPointerException.

} catch (TimeoutException e) {

    // Código a executar caso o código dentro do "try" gerar alguma exceção do tipo TimeoutException.

} finally {

    // Código a executar após os tratamentos de erro anteriores.

};


Tipos de Exceptions


A classe Exception possui diversas classes que a herdam, utilizadas para identificar problemas cada vez mais específicos. Algumas das classes filhas de Exception são:


  • NullPointerException

Gerada quando algum método ao ser chamado retornou nulo e seu código não esperava isso.

  • TimeoutException

Gerada quando o a execução de um determindado script demorou mais do que o tempo estipulado. Por exemplo, quando uma API demora demais para retornar um valor.

  • ClassNotFoundException

Gerada quando dentro do seu código você faz referência a uma classe não existente. Gerada por exemplo quando esquecemos de realizar algum import de uma classe utilizada no nosso código.

  • NumberFormatException

Gerada quando é atribuído um valor em formato não esperado a uma varável de tipo numérico. Por exemplo ao tentar atribuir o valor 10.5 a uma variável do tipo int.



Você pode ainda, trabalhando com diferentes pacotes de aplicações encontrar tipos de Exceptions específicos de uma determinada aplicação. Indo ainda além, você pode desenvolver sua própria classe herdando a classe Exception, para executar determinadas operações caso sua aplicação gere um erro inesperado.



Resumos Geral


Entendemos como fazer o tratamento de situações inesperadas em nosso código, a sintaxe necessária e vimos alguns tipos mais comuns de exceções encontradas mundo a fora. Ter esse entendimento a respeito das exceções é fundamental para fazer um código a prova de bugs.

Comentários


Como está o seu currículo?

Ter um bom currículo é uma fator chave para você ter seu trabalho reconhecido perante o mercado de trabalho.

 

Sabemos que elaborar um bom currículo que descreva bem suas habilidade e suas expectativas pode ser uma tarefa muito complicada.

Clique no botão abaixo para ter todo o suporte necessário na elaboração de um currículo nota 10.

Como está o seu currículo?

Ter um bom currículo é uma fator chave para você ter seu trabalho reconhecido perante o mercado de trabalho.

 

Sabemos que elaborar um bom currículo que descreva bem suas habilidade e suas expectativas pode ser uma tarefa muito complicada.

Clique no botão abaixo para ter todo o suporte necessário na elaboração de um currículo nota 10.

Sobre o Autor

"Olá meu nome é Tiago Stasaitis, sou formado

Técnico em Informática e bacharel em Sistemas de Informação.

   

Fundei o Acadêmico Tech no intuito de compartilhar conteúdo que pode ajudar pessoas a se desenvolverem pessoal e profissionalmente. "

1633903387510.jpg
  • LinkedIn - Black Circle
  • Instagram
bottom of page