Por que usar:
@SuppressWarnings("unused")
public static Connection createConnection() {
try {
Connection con = null;
return con = DriverManager.getConnection("jdbc:mysql://localhost:3306/PRD_CORP_PROVISORIO", "root", "root");
}catch (SQLException e) {
throw new RuntimeException(e);
}
}
Ao invés de no catch dar um:
}catch (SQLException e) {
e.printStackTrace();
}
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.
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 =(
algumas referências abaixo
http://onjava.com/pub/a/onjava/2003/11/19/exceptions.html
http://today.java.net/article/2006/04/04/exception-handling-antipatterns