必须捕获或声明抛出未报告的异常SQLException

时间:2017-01-25 08:35:13

标签: java

我创建了一个数据库类来更好地理解单例类,以及学习java.However我得到一个我似乎无法修复的未报告的异常。

呼叫

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;
}

1 个答案:

答案 0 :(得分:1)

我怀疑问题是由静态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
    }
  }
}