国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

異常處理——畢向東Java基礎教程學習筆記

2019-11-14 15:03:46
字體:
來源:轉載
供稿:網友

1.異常:就是程序運行過程中出現的不正常情況。

異常的由來:問題本身也是日常生活中一個具體的事物,也可以通過java類的形式進行描述,并封裝成對象。
                       其實,就是java對不正常情況描述的對象體現。
對于問題的劃分:一種是嚴重性問題,一種是非嚴重性問題。
 
對于嚴重的,java用Error類進行描述。
對于Error類一般不寫針對型代碼對其進行處理。
 
對于非嚴重的,java通過Exception類進行描述。
對于Exception類可以使用針對性處理方式進行處理。
 
無論Error類還是Exception類都有一些共性內容,
比如不正常情況的信息,引發原因等。
 
Throwable
--Error
--Exception
 
 
2.異常的處理
java中提供了特有的語句進行處理:
try
{ 需要被檢測的代碼;}
catch(異常類名 變量)
{處理方式; }
finally
{一定會執行語句; }
 
3.對捕獲到的異常對象進行常見方法操作。
 getMessage();獲取異常的信息
toString();異常名稱:異常信息
PRintStackTrace();打印異常在堆棧中的跟蹤信息,包括異常名稱,異常信息,異常出現的位置。
其實JVM默認的異常處理方式就是調用printStackTrace()。
 
在方法上聲明異常,
便于提高安全性,讓調用處進行處理,不處理則編譯失敗。
 
對多異常的處理
1.聲明異常時,最好聲明為更具體的異常類型,這樣也能處理的更為具體。
2.對方聲明幾個異常,就對應幾個catch塊。
如果多個catch塊中的異常有繼承關系,使用父類異常的catch塊放在最后面,因為catch塊是按順序處理的。另外,不要定義多余的catch塊。
 
建議進行catch處理時,catch中一定要定義具體的處理方式,不要簡單地定義一句e.printStackTrace();
也不要簡單地就寫一條輸出語句。
 
自定義異常
因為項目中可能出現特有的問題,而這些問題并沒有被java所描述并封裝成對象,所以對于這些問題,可以按照java中對問題封裝的思想,將特有的問題進行自定義的異常封裝。
 
自定義異常類應該繼承Exception。
繼承Exception的原因:
因為異常類和異常對象都需要被拋出,它們都具備可拋性,這是Throwable體系所具有的特性。
這有這個體系中的類和對象才可以被throw和throws操作。
 
 
當在方法內部出現了throw拋出異常對象,那么就必須要給出對應的處理動作。
要么在內部用try,catch處理;
要么在方法上聲明讓調用者處理。
 
一般情況下,方法內部出現異常,方法上需要聲明。
 
throws和throw的區別
throws 使用在方法上(小括號和大括號之間);
throw使用在方法內部。
 
throws后面跟的異常類名,可以跟多個,中間用逗號隔開。
throw后面跟的是異常對象。
 
Exception中有一個特殊的子類RuntimeException(運行時異常),
如果在方法內部拋出該類或者其子類異常,可以不再方法上聲明,編譯也可以通過;
如果在方法上聲明該類或其子類異常,調用者可以不用進行處理,編譯一樣通過。
 
之所以不需要再方法上進行聲明,是因為不需要調用者進行處理。
當該異常發生,程序就會停止運行,因為在運行時出現了無法繼續運算的情況,希望停止程序后,對代碼進行修改。
 
自定義異常時,如果該異常的發生,使程序無法繼續運行下去時,
就讓該自定義異常繼承RuntimeException。
 
對于異常分為兩種:
1.編譯時被檢測到的異常。
2.編譯時無法被檢測到的異常。(運行時異常。及RuntimeException及其子類)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瓮安县| 射阳县| 长海县| 郑州市| 津市市| 任丘市| 台山市| 普兰店市| 庆安县| 文昌市| 酒泉市| 黄大仙区| 荔波县| 上高县| 芜湖县| 浑源县| 萝北县| 台东市| 息烽县| 枣阳市| 三都| 汉源县| 五原县| 青岛市| 鲁甸县| 南漳县| 泰州市| 平阴县| 城市| 怀柔区| 吉隆县| 昭通市| 灌阳县| 古丈县| 永福县| 榆林市| 赞皇县| 南投市| 青阳县| 枝江市| 河源市|