Criando ConnectionFactory

2 respostas
A

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(); }

2 Respostas

B

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 =(

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

Criado 2 de fevereiro de 2011
Ultima resposta 2 de fev. de 2011
Respostas 2
Participantes 3