Привет всем, я новичок в Java, и было интересно, если я определить метод для возврата объекта базы данныхВ Java, как установить тип возвращаемого значения, если возникает исключение?
нравится
import java.sql.*;
public class DbConn {
public Connection getConn() {
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") == "development") {
String hostname = "localhost";
String username = "root";
String password = "root";
}
conn = DriverManager.getConnection("jdbc:mysql:///mydb", username, password);
return conn;
} catch(Exception e) {
throw new Exception(e.getMessage());
}
}
}
, если не удается установить соединение, когда я пытаюсь создать его, что я должен вернуться ? eclipse говорит мне, что мне нужно вернуть объект Connection, но если он не работает, я не уверен, что делать.
спасибо!
ОБНОВЛЕНО КОД ПРЕПЯТСТВОВАТЬ EXCEPTION ПУЗЫРЬ:
public class DbConn {
public Connection getConn() throws SQLException {
Connection conn;
String hostname = "localhost";
String username = "root";
String password = "root";
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") != "development") {
hostname = "localhost";
username = "produser";
password = "prodpass";
}
conn = DriverManager.getConnection("jdbc:mysql:///mydb", username, password);
return conn;
}
}
Честно говоря, я удивлен. Eclipse обычно достаточно умна, чтобы понять, что как только вы что-то бросаете, вам ничего не нужно возвращать. Но чтобы сделать его счастливым, поставьте «return null»; после окончания блока catch. –
@Paul: на самом деле Eclipse только недовольны «Исключением исключенного типа исключений» внутри улова (пропущенные броски). –