Java基礎之自定義異常

侯建文 2024-05-18 12:12 18次浏览 0 条评论 taohigo.com

(自定義異常代碼在最後面)

異常類分為兩種,

一種是 編譯時異常類(編譯是異常類直接直接繼承Exception類且非RuntimeException類)

一種是 運行時異常類(繼承RuntimeException的類)

該兩種異常類出現的一般情況 1.我自己創建瞭一個異常類,在程序中用throw +用創建該類對象

2.Java自動拋出的編譯時異常類(Java創建的異常類對象)

兩者區別是 當出現運行時異常類,我可以不用管他直接運行,當運行到出現異常類的地方時,會結束運行(隻能運行的出現異常類的地方),並給出錯誤信息,我根據錯誤信息進行修改,然後重新運行就行瞭

當出現編譯時異常類,我無法直接運行,一般使用try catch()解決

格式

try {

(當try執行完後 裡面還沒有出現可以與catch括號中匹配的異常類對象,就跳過catch{}執行後面內容,

當執行try{}內容時,出現瞭可以與catch()中匹配的異常類對象,就執行catch{}中內容,執行完後就執行後面內容,不會在執行try中未執行完的內容)

}

catch(該異常類名+對象名){

錯誤的提示信息

}

然後當我們運行到出現該異常類的地方時,會輸出我們寫的錯誤的提示信息,然後繼續執行後面程序(遇到運行時異常類對象也可以這麼解決,雖然都可以運行,但是加瞭try catch()之後,可以運行到底

比如說,我寫一個老師類,老師類中有一個方法,作用是從鍵盤錄入學生成績。但是呢,這個成績是在0-100之間的,如果我一不小心錄入瞭200

,正常情況下運行後是沒有錯誤提示的,但我希望此時有個錯誤提示

其實隻判斷瞭1號 2號的成績是否正確,3號和4號沒有判斷。

當2號成績出現異常時,就執行catch{}類的內容瞭,然後就執行後面內容,try{}中內容不在執行

這次我們創建的是編譯時異常類,我們也可以創建運行時異常類,他繼承RuntimeException就行,然後不需要用try catch()方法,不用的話出現異常直接結束並給出錯誤信息,用的話會給出錯誤信息且一直運行到底