3
respostas

resolução

Eu não entendi a explicação da resolução, no caso pqa exceção mais genérica, no caso a Exception, deve ser declarada no último bloco catch? para que o codigo consiga compilar

3 respostas

Tiago, boa tarde.

Isso acontece porque o codigo ele pode gerar um erro ou seja um exception então nisso você precisa declarar, isso acontece porque as exceptions elas são do tipo checked, ou seja que você força o "usuário" a declarar que vai acontecer a exceção no caso você declara no metodo ou atráves de um try catch.

A diferença se fosse uma exceção do tipo unchecked (RuntimeException) e que você não seria obrigado a declarar o try catch ou declarar no metodo. Porem depois que você rodar o codigo existe a possibilidade de dar uma exception do tipo RuntimeException finalizando a sua aplicação e te obrigando a criar um try catch ou declarar no metodo.

Mas para poder sanear melhor as duvidas o interessante seria que você fizesse o curso abaixo: https://cursos.alura.com.br/course/java-excecoes

muito obrigado! outra duvida, essas exception podem acontecer em todo codigo correto? quer dizer que seria adequado sempre usar try e catch?

Tiago,

Normalmente as exception podem ou não acontecer em todo o codigo. Depende muito se quem fez aquele codigo que você está utilizando está lançando uma. Normalmente todo codigo que lança uma exception (checked) o seu codigo não irá compilar e vai pedir para utilizar try-catch ou lançar a exception no metodo.

Mas também pode ser lançado uma RuntimeException (unchecked), so que essa você só vai conseguir tratar quando o erro acontecer. E ela não da problema de compilação, normalmente essa exceção o desenvolvedor lança a partir de um if por exemplo:

if(a < 2) {
    throw new RuntimeException("O numero " + a + " é menor do que 2");
}