Neste caso, você manda a exception para a pessoa que for usar a classe possa tratá-la na forma de Runtime (que é uma exception unchecked).
Colocar o printstacktrace, imprimiria somente no terminal do servidor. Não teria como usar este erro e informar o usuário da aplicação que um erro de banco de dados aconteceu, pedindo para ele tentar novamente.
Andre_Fonseca
oi,
A primeira coisa que você deve se perguntar é: se acontecer esta exception no meu programa o que eu posso fazer? eu consigo me recuperar dela? o que é importante? apenas logar? retornar para o cliente com uma mensagem amigavel? sair do programa?
Quando você coloca RuntimeException você não obriga o cliente (quem chamar o método) a tratar esta exception, usar excessões checadas demais acaba poluindo os métodos, por exemplo aqueles que tratam de parser de XML usando SAX =(