java - 尝试捕捉错误

标签 java jdbc try-catch

public class ConnectionManager {
    private static String url = "jdbc:mysql://localhost:3306/prototypeeop";    
    private static String driverName = "com.mysql.jdbc.Driver";   
    private static String usernsme = "root";   
    private static String pasword = "triala";
    private static Connection con;
    private static String url;

    public static Connection getConnection() {
        try {
            Class.forName(driverName);
            try {
                con = DriverManager.getConnection(url, username, password);
            } catch (SQLException ex) {
                // log an exception. fro example:
                System.out.println("Failed to create the database connection."); 
            }
        } catch (ClassNotFoundException ex) {
            // log an exception. for example:
            System.out.println("Driver not found."); 
        }
        return con;
    }
}

嘿,我正在制作这个类,我得到一个“classnotfound 异常永远不会在相应的 try 语句的主体中抛出”?这与我的 try 和 catch block 有关,我想知道问题出在哪里。对于 try 错误,它表示“未报告的异常 java.lang.classnotfound 异常必须在抛出之前捕获或声明”。

对于显而易见的问题,我深表歉意,但我也是新手,尝试捕捉障碍。我知道这与我没有声明此类错误有关,因为 SQLException 已在 java.sql 包中声明;因此,为什么我没有收到错误。 (我在我的代码中包含“导入 java.sql 包”,因为我正在使用 JDBC 的 Connection 类)。该类基本上建立了一个连接并返回该连接。

最佳答案

你的文字很难理解......如果我正确理解你的问题,这可能是答案:

您必须捕获 SQLException,因为 DriverManager.getConnection 声明它可能会抛出此异常。 Class.forName 可能会抛出 ClassNotFoundException,因此您也必须捕获它。但是,您可以将一个 try block 与两个 catch 子句一起使用,而不是两个。

我想最好的办法是你能重新解释这个问题。

关于java - 尝试捕捉错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939060/

相关文章:

C++ 异常开销和抛出指令

java - 读取 Apache POI 文件并通过 JPA 进行持久化,但实体的持久化直到方法结束时才会发生

java - 需要帮助来消除我的 Java 图形代码中的异常

java - 手动停止 cargo 容器 Tomcat 6.X

java - 如何获取 JScrollPane 中的组件

java - 比较 java 中的结果集

java - "given file does not exist"UCanAccess 连接问题

Java连接远程MySQL数据库

r - 如何处理R的预测函数中的错误?

java - try/catch block 中的多个语句 - Java