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 ✓