筆記是看黑馬視頻一邊做的,主要是用於自己複習用。
https://blog.csdn.net/HDZ1821/article/details/104577474 詳細請了解這篇文章。
目錄
throw關鍵字:(交給虛擬機處理)在指定的方法裏拋出指定的異常對象。
2.finally有return語句,永遠會返回finally中的結果,避免該情況
異常:
分類:
處理異常的兩種方式:
交給jvm處理異常: 在類/方法後面寫上throws Exception
這樣的話就會導致一旦出現了異常,計算機在執行的時候就會被中斷,然後去報錯。
寫try catch處理異常:
一旦出現了異常,計算機在執行的時候會報錯,但是不會被中斷,後續代碼還是可以繼續執行的。
例子:
exception
error
異常的產生過程解析:
throw關鍵字:(交給虛擬機處理)在指定的方法裏拋出指定的異常對象。
個人思考:
1. 這個方法適用於對自己代碼很瞭解的人,知道到哪裏會拋出什麼類型的異常,這樣做有什麼不安全的地方。
2. 但是如果是經驗不足的程序員,一般不會特別清楚異常的類型,反而用這個方法不太明確,所以個人覺得不太推薦用這個。
3. 但是它的好處是直觀形象。因爲一旦遇到錯誤代碼之後,就可以自己在後面自行設置相應的輸出語句。
4. 而且它的寫法非常的簡便。
例子:
Objects非空判斷requireNonNull() :
例子:
聲明異常throws (交給虛擬機處理)
例子:
try...catch異常處理 自己處理異常
概述:
例子:
Throwable類中三個異常處理的方法:
例子:
finally代碼塊:
異常的注意事項:
1.多異常使用捕獲又該如何處理呢?
1.多個異常分別處理
2.多個異常一次捕獲,多次處理(一個try可以對應多個catch)
2.finally有return語句,永遠會返回finally中的結果,避免該情況
例子:
輸出:100
3.子父類異常:
例子:
自定義異常:
代碼:
自定義異常類的練習: