假设我有以下几行代码,
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/