java - 当发生 SQLException 时如何调用自定义异常?

标签 java jdbc exception sqlexception throws

假设我有以下几行代码,

       Class.forName(JDBC_DRIVER);
       dbConnection = DriverManager.getConnection(DB_URL, USER, PASS);

现在我想要的是,当捕获 SQLException 时,我想从 SQLException 的 catch 字段抛出自定义异常,我的意思是是否可以这样做,或者是否有其他方法可以这样做? p>

我的自定义异常是 ErrorToDisplayException 为:

    public class ErrorToDisplayException extends Exception{

public ErrorToDisplayException(Throwable e) {
}
    }

我的代码如下:

   try {        
    //Register JDBC driver
       Class.forName(JDBC_DRIVER);
       dbConnection = DriverManager.getConnection(DB_URL, USER, PASS);
   }catch(final SQLException se){
    // Handle errors for JDBC
       throw new ErrorToDisplayException(se);
   }

现在发生的事情是,当编译器到达 }catch(最终的 SQLException se){ 它没有去它的捕捉体,只是挣脱,不知道为什么?

最佳答案

你的意思是这样的还是我不明白?!

try {
    Class.forName(JDBC_DRIVER);
    dbConnection = DriverManager.getConnection(DB_URL, USER, PASS);
} catch (SQLException e) {
    throw new MyException(e);
}

或者您的意思是在所有地方用自己的类型替换一些标准异常?

关于java - 当发生 SQLException 时如何调用自定义异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22347943/

相关文章:

exception - Installshield:EnumServicesStatus 抛出异常问题

eclipse - 子剪辑 : Updating Change Sets for SVNStatusSubscriber (UPDATED - clock sync issue)

JavaFX - 调整屏幕大小时调整 Canvas 大小

java - 在java中将时间戳转换为json iso 8601

java - 如何使用 Selenium ChromeDriver 从 span 类获取文本

java - Hibernate 设置的字段可以是最终的吗?

oracle - Oracle 数据库的响应式(Reactive) jdbc 驱动程序支持

sql-server - Kafka Connect JDBC 源连接器不适用于 Microsoft SQL Server

mysql - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'RECEPTORS.r_name' in 'field list'

php - 如何在 Laravel 5 中为 http 错误响应返回自定义 View ?