Múltiplas Exceções em Java (dica importante)
- #Java
Quando você estiver tratando as exceções que ocorrerem em seu programa, lembre-se que existe uma hierarquia na estrutura disponibilizada pelo Java, começando pela classe Exception.
Ao tratar múltiplas exceções com try-catch lembre-se da hierarquia que existe, isso fará a diferença, pois seu código pode não compilar simplesmente porque você não sabia da importância de conhecer essa hierarquina no tratamento das exceções.
Observe este trecho de código:
A mensagem de erro a seguir será exibida, ela diz que o bloco de captura ArithmeticException está inacessível porque a classe RuntimeException já está manipulado esse bloco de exceção. Como assim?
Na figura abaixo preparei uma explicação sobre o que está acontecendo. Na realidade, você precisa conhecer a hierarquia das implementações da classe Throwable para entender de forma plena, mas basicamente, neste exemplo, você só precisa mudar a ordem das exceções.
Assim, espero que essa dica possa ter ajudado a entender esse detalhe, pois erros acontecem ao tratar múltiplas exceções, nessa hora o compilador avisa que algo está errado, ou a mensagem de erro diz que outra classe já está tomando conta do bloco que lançou a exceção, neste caso a classe seria a RuntimeException. Isso porque ela está em um catch antes da ArithmeticException, visto no código da primeira imagem.
Bons estudos!