1
resposta

Try-catch para exceções checked

Não ficou claro para mim quando devo utilizar o try-catch no meu método que está com uma exceção checked. No caso, o professor Nico apenas utiliza o throws *na assinatura do método. Quando devo utiliza *try-catch e quando devo apenas adicionar o throws da exceção na assinatura do método?

1 resposta

Olá Thomas! Como Java é uma linguagem orientada a objetos, é sempre bom organizar as classes e fazer com que cada uma tenha uma responsabilidade específica, então quando você tem métodos que lançam exceções do tipo checked é bom fazer o tratamento dessas exceções em um único lugar, para deixar o código mais organizado e fácil de dar manutenção. Então na hora de criar uma classe com métodos que lançam exceções checked, você pode simplesmente colocar o throws na assinatura do método e fazer um tratamento com try-catch somente na classe onde você vai chamar esses métodos, como em uma classe com o método main por exemplo. Outra estratégia utilizada é a de capturar uma exceção checked com try-catch e em seguida lançar uma do tipo unchecked, passando a checked como causa:

try {
        metodoQueLancaExcecaoChecked();
} catch (Exception e) {
        throw new RuntimeException(e);
}

Espero ter ajudado! Se você ainda estiver com dúvida, pode ficar tranquilo porque você ainda vai ver esse conteúdo em vários outros cursos de Java.