我创建了一个数据库类,以更好地理解单例类并学习Java。但是,我遇到了一个无法报告的异常,我似乎无法修复。
呼叫private Connection con = ConnectionManager.getConnection();
Netbeans告诉我,这里有一个未报告的异常,但这是getConnection方法
public static Connection getConnection() throws SQLException {
boolean read = ReadFromConfig();
if (read == true) {
try {
con = DriverManager.getConnection(urlstring, user, pass);
} catch (SQLException ex) {
throw new SQLException("Connection failed: " + ex);
}
}
return con;
}
最佳答案
我怀疑问题是由静态getConnection()
函数调用引起的。您正在定义一个可以抛出SQLException
的方法(您在方法签名throws SQLException
中定义了此方法),因此,在调用该方法时,必须添加这种情况,即可能在调用时捕获可能抛出的异常时间。以下代码片段向您展示如何解决该问题:
public class Test {
public static int getConnection() throws Exception
{
int result = 1;
try
{
result = 2;
}
catch (Exception ex)
{
throw new Exception("Connection failed: " + ex);
}
return result;
}
public static void main(String[] args) {
try
{
Test.getConnection();
}
catch (Exception e)
{
// do something
}
}
}
关于java - 未报告的异常SQLException必须捕获或声明为抛出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41846771/