標籤:溢出 sql 業務 建立 trace 列印 cep 控制 rac
異常
異常指的是運行期出現的錯誤,也就是當程式開始執行以後執行期出現的錯誤
1檢查性異常:最具代表的檢查性異常是使用者錯誤或問題引起的異常,這是程式員無法預見的。例如要開啟一個不存在檔案時,一個異常就發生了,這些異常在編譯時間不能被簡單地忽略。
2運行時異常: 運行時異常是可能被程式員避免的異常。與檢查性異常相反,運行時異常可以在編譯時間被忽略。
3錯誤: 錯誤不是異常,而是脫離程式員控制的問題。錯誤在代碼中通常被忽略。例如,當棧溢出時,一個錯誤就發生了,它們在編譯也檢查不到的。
null 指標異常 NullPointerException
數組下標越界異常 ArrayIndexOutOfBoundsExecption
類型轉換異常 ClassCastException
算數異常 ArithmeticException
異常方法
下面的列表是 Throwable 類的主要方法:
檢查異常: 檔案異常 IOException SQL異常SQLException
拋出異常:java程式執行過程中發生例外狀況事件,可以產生一個異常類,該異常類封裝了例外狀況事件的資訊並將提交給java運行時系統,系統預設直接列印出來。
捕獲異常:java運行時系統收到異常對象時,會尋找能處理這異常的代碼並把當前異常對象交於處理,這一過程稱為捕獲異常。
try-catch 以及 try-catch-finally
Try{
//一些會拋出異常的方法
}catch(Exception e){
//處理該異常的代碼塊 從子類到父類
}catch(Exception2 e){
}finally {
//最終將要執行的代碼
}
finally 關鍵字用來建立在 try 代碼塊後面執行的代碼塊。
無論是否發生異常,finally 代碼塊中的代碼總會被執行。
throw throws
如果一個方法沒有捕獲一個檢查性異常,那麼該方法必須使用 throws 關鍵字來聲明。throws 關鍵字放在方法簽名的尾部。
也可以使用 throw 關鍵字拋出一個異常,無論它是新執行個體化的還是剛捕獲到的。
聲明將要拋出的任何異常(聲明)
Public void 方法名(參數列表)
throws 異常類別{
//調用拋出異常的方法或者:
throw new Execption();
}
聲明自訂異常
在 Java 中你可以自訂異常。編寫自己的異常類時需要記住下面的幾點。
所有異常都必須是 Throwable 的子類。
如果希望寫一個檢查性異常類,則需要繼承 Exception 類。
如果你想寫一個運行時異常類,那麼需要繼承 RuntimeException 類。
通用異常
在Java中定義了兩種類型的異常和錯誤。
JVM(Java虛擬機器) 異常:由 JVM 拋出的異常或錯誤。例如:NullPointerException 類,ArrayIndexOutOfBoundsException 類,ClassCastException 類。
程式級異常:由程式或者API程式拋出的異常。例如 IllegalArgumentException 類,IllegalStateException 類。
異常總結
1 在運行異常程式的時,採用邏輯去合理規避同時輔助try-catch處理
2 在多重catch 塊後面,可以加上一個catch(Exception)來處理可能被遺漏的異常
3 對於不確定的代碼,也可以加上try-catch,處理潛在的異常
4 盡量去處理異常,切忌只是簡單的去調用printStackTrace()去列印輸出
5 具體如何處理異常,要根據不同的業務需求和異常類型去決定
6 盡量添加finally 語句去釋放佔用的資源 (資料庫)
7重寫方法需要拋出與原方法所拋出異常類型一致的異常 或者不拋出異常
Java基礎-異常