知識點總結之異常:

1:異常和錯誤都是Throwable的子類

2:異常的處理方式
首先是虛擬機檢測到異常,然後創建異常對象並拋出,
然後拋給調用者,調用者沒有對應異常的處理,所以,又拋給了main方法;
main方法中也沒有處理的方法,拋給虛擬機JVM,然後虛擬機就會做兩個處理,在控制檯打印錯誤信息的位置,終止程序的運行
在這裏插入圖片描述
3:關鍵字throw
在這裏插入圖片描述

4:關鍵字throws,方法內部有異常,需要告訴外面,內部拋出什麼異常,就使用throws告訴外界什麼異常。
在這裏插入圖片描述
5:通過throw拋出異常對象之後,然後在方法聲明時通過throws告訴外界的調用者說有問題,然後在調用者main方法上也需要使用throws告訴main的調用者JVM說我自己有問題;最後虛擬機把異常信息打印在控制檯上,並終止程序的運行。
在這裏插入圖片描述

上面的處理方式也屬於一種吧,是虛擬機自己的處理方式。

6:異常的另一種處理方式
在這裏插入圖片描述
使用try,catch進行處理,然後打印出異常信息,最後控制檯執行,並執行完程序。
在這裏插入圖片描述

具體的實行過程如下,注意發生異常之後開始跳轉到catch;

在這裏插入圖片描述
7:多個catch的時候需要注意的,同一個方法中拋出的異常包含有繼承關係的異常時候,子類異常需要寫在前面;
在這裏插入圖片描述
在這裏插入圖片描述
8:關鍵字finally:之後的代碼必須執行,用於後續釋放操作系統的資源;
在這裏插入圖片描述
下面的代碼表示的是不可以執行,
在這裏插入圖片描述
9:在main方法中調用拋出異常的方法時,需要用try,catch捕獲異常,而不是自己也通過throws拋出異常,因爲如果一直這樣做的話,會導致程序終止。
10:異常分爲編譯異常和運行時異常,運行時異常在使用throw拋出時候,是不需要使用throws來聲明的。
在這裏插入圖片描述
11:空指針異常也是一種運行時異常;運行時異常都需要我們使用throw拋出異常,且在方法開始不需要使用throws聲明main方法中調用也不需要使用try catch來捕獲異常。
在這裏插入圖片描述
12“繼承中的異常,父類拋出了異常,子類可以不拋出,如果拋出的話小於等於父類拋出的異常;父類不拋出異常,子類一定不可以拋出異常,如果子類方法中調用了拋出異常的方法,那麼只能通過trycatch進行處理
在這裏插入圖片描述
13:Throwable中的三個方法
在這裏插入圖片描述
14:自定義異常
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章