public static Connection getConnection()throws SQLException{
try{
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost/teste","root","");
}catch(ClassNotFoundException e){
throw new SQLException(e.getMessage());
}
}
Funciona pois caso ocorra alguma excessão, vc lança a mesma para o responsável que chamou este método.
Throws - indica para quem irá chamar o método que é possível que uma excessão seja lançada, assim ela irá trata-la com um try/catch ou lança-la pra frente.
Não. Isso não é correto. O retorno é apenas um e dentro do try. O que está erra ali é um e.getMessage que não serve para nada
Esta classe obtem coneções e deve pertencer a uma camada de integração. Essa camada tem um nome, digamos que XPTO
Então o tratamento correto seria:
Voce pode melhorar isso. A primeira exceção só acontece se o cara configurou as coisas de forma errada
nesse caso Poderiamos ter uma XPTOConfigurationException filha de XPTOException e fazer assim
XPTOException pode ser não verificada sem problemas.
So para reforçar : XPTO é o nome da camada. Se a camada se chamar dao então seria DAOException
se se chamar BDAccess seria DBAcessException e assim vai…