嘿,我是新来的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());
}
}
}
?日食告诉我,我必须返回一个Connection对象,但如果失败,我不知道该怎么做。
谢谢!
更新的代码TO LET 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通常足够聪明,可以理解一旦你抛出一些东西,你不需要返回任何东西。但为了让它开心,把一个“返回null” catch块结束后。 – 2010-05-31 19:29:44
@Paul:实际上Eclipse只对catch中的“未处理的异常类型异常”感到不满(丢失的引用)。 – 2010-05-31 21:07:10