金英華 張巖
摘 要:盡管Java語言的功能非常強(qiáng)大,自身帶有處理大多數(shù)異常的類庫,但設(shè)計項目編寫程序時還需要自定義一些異常類來滿足特定的需求。自定義異常類需要繼承Exception類和其子類,在需要的時用throw關(guān)鍵字引發(fā)即可。
關(guān)鍵詞:Java,自定義異常類,throws, throw
1、異常的定義
就是在程序運(yùn)行時由代碼所產(chǎn)生的不正常狀態(tài)。換句話來說,異常就是一個運(yùn)行錯誤。
異常處理的關(guān)鍵詞有:try、catch、finally 、throw、throws,共5個。異常處理執(zhí)行流程,如圖1所示。
在自定義異常時,通常繼承Exception或者子類實現(xiàn),也可以直接繼承Throwable,格式如下:
public ?class ?自定義異常 ?extends ? Exception{}
3、聲明異常(throw和throws)
在聲明自定義異常時,通throw 和 throws格式如下
(1)返回值類型 ?方法名(參數(shù))throws ?異常類型
(2)throw 異常類型
throws是用來聲明一個異常,拋出所有可能的異常信息,throws只是異常聲明,但不做任何處理。而throw是用來引發(fā)對應(yīng)的catch語句來處理一個具體的異常類型。
4、自定義異常類的應(yīng)用
本實例是招聘某項工作,需要年齡在20歲~30歲之間,自定義異常類TooyoungerException和TooolderException,若低于20歲便處理TooyoungerException異常的程序,若高于30歲則處理TooolderException異常的程序,從命令行(控制臺)輸入年齡值,然后對年齡進(jìn)行檢測,合格,便打印合格信息;不合格打印,打印異常信息。
設(shè)計程序要實現(xiàn)的運(yùn)行結(jié)果,如圖2所示。
throw語句用于引發(fā)異常,程序執(zhí)行流程將在此處停止,不會繼續(xù)執(zhí)行后面的語句。throw語句將程序執(zhí)行控制權(quán)交給catch語句,由catch語句決定其后的流程。所以throw語句本質(zhì)上與break、continue、return等語句一樣,都屬于跳轉(zhuǎn)語句。
throws語句用于聲明可能產(chǎn)生的異常,以便于使用它的其他程序員能夠正確處理。
參考文獻(xiàn)
[1]李卓玲.Java程序設(shè)計實用教程.大連理工大學(xué)出版社,2005.
[2] 遲勇.Java語言程序設(shè)計.大連理工大學(xué)出版社,2013.
[3] 遲勇.Java語言程序設(shè)計實驗及實訓(xùn)指導(dǎo).大連理工大學(xué)出版社,2013.