Обратите внимание, что если соединение с базой данных не удается из-за проблем с сетью, вы все равно получите только SQLException
, поэтому отлов будет лучше, и если вы хотите определить, была ли проблема с сетью, вы можете проверить SQLState
(согласно инструкции ):
try {
...
} catch (SQLException sqle) {
if ("08S01".equals(sqle.getSQLState())) {
JOptionPane.showMessageDialog(null, "Connection refused (or networking problem)!!!");
System.out.println(err.getMessage());
}
}
Также (как правило, не связанный с этой ошибкой) ваш метод создает соединение (con
объект), но ссылка на него не возвращается, так как вы закрываете соединение? Не закрытие соединения может привести к утечке соединения, что вызовет проблемы.