gpt4 book ai didi

java - 连接对象返回空值

转载 作者:行者123 更新时间:2023-11-29 06:35:22 25 4
gpt4 key购买 nike

我正在尝试创建一个允许我通过 JDBC 连接到 mySQL 数据库的类,但 Connection 返回的对象为空。我认为错误是我没有在异常中使用错误信息消息,而是返回空值。

删除 return null; 语句导致错误:This method must return a result of type Connection

    return conn;
} catch (Exception e) {
// return null;
e.printStackTrace();
}

}

同时添加 return null;e.printStackTrace(); 导致了 Unreachable code 错误

    return conn;
} catch (Exception e) {
return null;
e.printStackTrace();
}

我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ServerConn
{
public Connection OpenDatabase() {
try {
Class.forName( "com.mysql.jdbc.Driver" ) ;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/promitheas?user=me&password=iwontsay") ;
return conn;
} catch (Exception e) {
return null;
}
}

public ResultSet dbQuery(String sql)
{
Connection cn = OpenDatabase();
if (!(cn == null)){
try {
Statement stmt = cn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return rs;
} catch (Exception e) {
return null;}
}
return null;
}

public ServerConn(){}
}

最佳答案

    return conn;
} catch (Exception e) {
return null; //returning
e.printStackTrace(); // what should I do as you are already returning.
}

那是违法的。并导致 Unreachable code error,因为您是在 return

之后编写代码
    return conn;
} catch (Exception e) {
e.printStackTrace();
return null;
}

此外,从 catch block 返回闻起来像是设计问题。重新考虑一次。

关于java - 连接对象返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25239413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com