假设我有以下几行代码,发生SQLException时,如何调用自定义异常?
Class.forName(JDBC_DRIVER);
dbConnection = DriverManager.getConnection(DB_URL, USER, PASS);
现在我想的是,当一个SQLException被抓住了,我想从SQLException中的捕获场把我的自定义异常,我的意思是有可能这样做还是有其他方法可以做到吗?
和我的自定义异常是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);
}
现在发生的事情是,当编译器到达 }赶上(最终的SQLException SE){ 它不会去它的捕捉身体,只是脱离,不知道为什么?
是的,我已经这样做了,但什么情况是,当一个SQLException发生(在调试模式),它捕获的异常,并径直突破远离代码而不是执行它的catch字段!,不知道它为什么发生! – Amir
这是一种奇怪的行为。你可以用你观察过的代码片段来编辑你的原始文章吗?也许这是一些未经检查的异常会发生什么滑出你的catch() –
是的我已编辑! – Amir