假設我有以下幾行代碼,發生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