Tratamento de Exceções - Java
Tem dúvida sobre tratamento de exceções? Veja como é fácil neste post.
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.

Space do autor




1
1
