1
resposta

Exception

Olá, eu tenho uma dúvida. Se por acaso, dentro de um método eu trato um NullPointerExeption com um método, porém, mais pra frente tem outra validação de exceção que pega erros "inesperados"de forma mais genérica, o "aviso de erro" que eu coloquei para aparecer na tela não será mostrado??

1 resposta

Oii Rodrigo, tudo bem?

Quando temos um bloco try-catch que trata mais de um tipo de exceção, a ordem em que colocamos os blocos catch é muito importante. O Java verifica cada bloco catch em ordem para encontrar uma correspondência com a exceção lançada. Uma vez que uma correspondência é encontrada, o bloco de código correspondente é executado e os demais blocos catch são ignorados.

Se você tem um bloco catch que trata uma exceção mais genérica (como Exception ou RuntimeException) antes de um bloco catch que trata uma exceção mais específica (como NullPointerException), o bloco catch para a exceção mais genérica vai capturar a exceção e o bloco catch para a exceção mais específica nunca será alcançado.

Espero ter ajudado.

Um abraço e bons estudos.