Qual programador nunca se deparou com erros em código e teve de manipular esses erros de forma trabalhosa, complexa e muitas vezes comprometendo a inteligibilidade do código? A linguagem Java fornece um mecanismo de tratamento de erros que permite ao desenvolvedor a produção de códigos eficientes e inteligíveis: o tratamento de exceções.
Na primeira parte desse artigo irei abordar de forma sucinta como funciona o tratamento de exceções em Java, como manipular, criar e lançar.
O que é?
É uma ocorrência que altera o fluxo normal de um programa, algo que foge do fluxo padrão.
A estrutura básica para o tratamento de uma exceção é formada pelas seguintes palavras-chave:
- try – É usado para inserir um código que possa causar alguma exceção.
- catch – Manipula a exceção.
- finally – Sempre será executado, independente do que acontecer dentro do bloco try-catch.
Ex.:
try{
Coloque aqui código que poderá resultar em algum erro.
}catch(Exceção e){
Coloque aqui código que manipula a exceção.
}finally{
Coloque aqui código que sempre será executado independente do que ocorra dentro do bloco try-catch-finally.
}
Existem dois tipos de exceções: verificadas e não verificadas, vejamos a árvore de herança das exceções e depois analisaremos e diferenciaremos seus tipos.
Throwable é a classe pai de todas as Exceções, e dela saem duas subclasses principais “Error” e “Exception”. As classes derivadas de Error significam erros que não ocorrem normalmente e que não são causadas por erros de lógica no programa, e sim por problemas externos como falta de memória, geralmente não são manipulados. As exceções são derivadas da classe Exception. Existem dois tipos de exceções, as verificadas e não verificadas. Todas as subclasses de RuntimeException (incluindo ela mesma) são consideradas exceções não verificadas, ou seja, mesmo se você declarar uma RuntimeException em seu código, você não será obrigado a manipulá-la. Sendo que a maioria das RuntimeExceptions terão sua origem em um problema de lógica do seu programa, um exemplo é a classe NullPointerException.
As demais exceções derivadas de Exception são as chamadas exceções verificadas, ou seja, podem ser manipuladas com cláusulas try-catch, declaradas ou lançadas com a palavra chave “throws”.
Algumas observações são válidas:
-Não é válido usar uma claúsula try sem uma catch ou finally (É possível omitir uma cláusula catch ou uma finally, mas não as duas);
-Não é válido usar uma cláusula catch sem uma try.
-Qualquer claúsula finally deve vir imediatamente após a claúsula catch ou após a try, caso não haja uma cláusula catch.
Por enquanto fico por aqui, espero que tenham gostado, e no próximo artigo citarei de forma prática o tratamento de exceções.

