dúvida de Exception no FJ21

4 respostas
D

no tutorial tem mensão logo no início de sempre usar no catch a classe RuntimeException para desacoplar a API do JDBC, não entendi a intensão, alguém pode me ajudar?
SQLException não é API do Java?

4 Respostas

sergiolopes

O problema da SQLException é que ela é Checked e exigiria o tratamento no código que invoca. Uma solução é “transformá-la” em Unchecked, por isso a criação da RuntimeException para embrulhá-la

D

então o que ele faz é ignorar algum erro e só observar falhas em tempo de execussão?

sergiolopes

Isso. Mas se qualquer forma, o DAO não seria o cara a tratar o erro. É que há duas alternativas para não tratar o erro lá:

  1. Ou você coloca “throws SQLException”
  2. Ou você embrulha numa unchecked exception

A primeira solução é ruim pois deixa vazar detalhes de banco de dados (SQLException) quando o DAO tem a ideia de encapsular totalmente o acesso a dados. Por isso a segunda solução costuma ser preferida.

D

vazar dados do banco se refere a informar detalhes de implementação do banco?
como usando a segunda opção , vou conseguir identificar um erro?

Criado 11 de março de 2011
Ultima resposta 11 de mar. de 2011
Respostas 4
Participantes 2