1
resposta

[Dúvida] erro no método obterDados

Uma coisa que não entendi, no eclipse quando a gente adiciona de forma automática o try catch, ele adiciona com e.printStackTrace(); Ele fica mostrando que o método deve ter um retorno do tipo T

imagem de erroMas se no lugar do e.printStackTrace(); eu coloco throw new RuntimeException(e); ele para de dar o erro do tipo de retorno sendo que nem adicionei um retorno... alguém pode explicar?

1 resposta

Oi, Tallys! Tudo bem?

No Eclipse, quando adicionamos o try-catch automaticamente, ele inclui o e.printStackTrace(), pois o método printStackTrace() é responsável por imprimir a pilha de chamadas do programa, mostrando o rastro de exceções que ocorreram.

No entanto, o método obterDados possui um retorno do tipo T, e o printStackTrace() não retorna nada. Por isso, o Eclipse mostra um erro indicando que o método deve ter um retorno do tipo T.

Ao substituir o e.printStackTrace() por throw new RuntimeException(e), estamos lançando uma exceção do tipo RuntimeException, que é uma exceção não verificada, ou seja, aquelas que não precisam ser explicitamente declaradas no método ou na cláusula throws. Isso faz com que o método não precise retornar nada, pois a exceção será propagada para quem chamou o método.

É importante lembrar que lançar exceções é uma forma de indicar que algo deu errado no código, e cabe ao programador que utilizará o método decidir como tratar essa exceção.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓