Tratamento de Exceções - Java

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (4)  (1)

Tem dúvida sobre tratamento de exceções? Veja como é fácil neste post.

Hoje vou falar um pouquinho sobre o tratamento de exceções em Java. Apresentarei por que usar, sua estrutura e o que é uma exceção. É comum para os iniciantes nos estudos com Java, ao chegar no assunto "Tratamento de Exceções", não conseguir visualizar a utilidade desse recurso e confundir os resultados com as instruções condicionais.

Mas a pergunta é: Por que usar tratamento de exceções?

Usar tratamento de exceções permite detectar erros e manipular esses erros, ou seja, tratá-los.

Instruções condicionais & Tratamento de exceções.

A grande diferença é que instruções não servem para tratar erros, e sim para testar condições se X não for verdadeiro. Assim: ao contrário das exceções que têm como objetivo detectar áreas onde possíveis erros possam acontecer e tratá-lo. Lembre o fato de um programador colocar dentro de uma instrução if...else que, se o usuário não digitar os valores válidos, informa que está errado. Isso não quer dizer que aconteceu um erro e ele foi tratado, apenas que a condição esperada não aconteceu.

Agora veremos abaixo a estrutura de como tratar um erro ou exceção:

try - é usada para indicar um bloco de código que possa ocorrer uma exceção.

catch - serve para manipular as exceções, ou seja, tratar o erro.

finally - sempre será executado depois do bloco try/catch. O importante é saber que esse bloco sempre será executado (exceto nos casos de encerramento da jvm System.exit()).

Veja abaixo as combinações válidas e inválidas para o uso do try{}, cacth{} e finally{} (isso é questão de certificação).

Combinações válidas:


Inválidas não Compila:



O que é uma Exceção?

É uma ocorrência que altera o fluxo do programa. As exceções podem ocorrer por falhas de hardware, exaustão de recursos e erros.

1. As palavras try e catch servem para informar a JVM o que fazer quando ocorrer uma exceção.

2. Os blocos catch devem aparecer após o try (isso é um requisito); entre os blocos não pode haver nenhuma instrução.

3. Quando uma exceção é identificada no try{} o restante do código não é executado e não há um retorno para o término do código.

Exceções verificadas e não verificadas

- Toda exceção verificada deriva da class Exception.

- As não verificadasou não-checadas derivam da class RuntimeException.

Throwable - é o pai de todas as exceções.

Error - não são exceções, e sim erros que jamais poderiam ter acontecido. ex.: estouro da memória.

Exception- as classes que deveriam aqui lançar exceções e não erros de programação. Exemplo: tentar abrir um arquivo que não existe. Então, é lançada uma exceção verificada, porque a classe de leitura de arquivos deriva de Exception.

RuntimeException - são exceções que indicam erros de programas (não de lógica, pois senão não passaria pelo compilador). Esse tipo de exceção é conhecida como não verificada. Sendo assim, não é requisito declarar uma cláusula try{} e catch{}. Ex.: tentar converter "dois" em "2".

Obs.: Implicitamente, todas as classes em java automaticamente já lançam uma exceção de RuntimeException.

Hierarquia



Espero que tenham gostado. Um abraço a todos e até o próximo.


 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?