標籤:span word data 運行 不能 data- mod div 使用
異常,什麼是異常?簡單的說異常是一種處理機制。將使用者所沒有考慮到的錯誤進行處理。由於程式猿無法保證一段代碼永遠不會出錯。
java中異常通過5個keyword:try , catch , throw , throws , finally。
當中,trykeyword後緊跟一個花括弧括起來的代碼塊(花括弧不可省略)簡稱try塊。
它裡面放置可能引發異常的代碼。
catch後相應異常類型和一個代碼塊,用於表明該catch塊用於處理這樣的類型的代碼塊。多個catch塊後還能夠緊跟一個finally塊,finally塊用於回收在try塊裡開啟的實體資源,異常機制會保證finally塊總被運行。
throwkeyword主要在方法簽名中使用,用於聲明該方法可能拋出的異常,而throw用於拋出一個實際的異常,throw能夠單獨作為語句使用,拋出一個詳細異常對象。
try{ 若運行代碼出現異常 } catch(Exception e){異常處理部分} 異常處理完後,程式繼續運行。catch()括弧裡為捕捉到的異常。
異常類型不知道就寫Exception。e.printStackTrace() 簡單理解為列印異常資訊。
*一段代碼不能連著拋2個異常,由於第二個無法拋出。即使第二個拋出了,也是在第一個攻克了的情況下。
*無法用邏輯推斷的用異常方便。
(異常的意義)
異常的處理方式有2種。①try{}catch(){}自己處理異常。②在方法後加throws 交給java虛擬機器處理。
異常處理步驟:try{} catch(1){} catch(2){} ... finally{} 不管是否捕獲異常。finally都會去運行。
finally對全部異常進行統一的管理。一般finally是對記憶體回收等機制的管理。
異常分類:①、Error 系統錯誤。 ②、Exception 必須處理的異常。
③、RuntimeException 可處理。也可不處理的異常。
自己定義異常。throws new。。。 並繼承Exception。
void f() throws A
{
}
*throws A表示調用f方法時,f方法可能會拋出A類異常,建議您調用f方法時最好對f方法可能拋出的A類異常進行捕捉。
*throws A不表示f方法一定會拋出A類異常,f方法能夠不拋出異常。
*throws A不表示調用f方法時,必須對A類異常進行捕捉。
如果A是RuntimeException子類異常,因為RuntimeException的子類異常可處理也可不處理,所以編譯器同意調用f方法時,對f方法拋出的RuntimeException子類異常不進行處理。
(可是,強烈建議。對throws出的全部異常進行處理,如果一個方法內部已經對A異常進行了處理。就不要在throws A了)
*先catch子類異常再catch父類異常
*catch與catch之間不能有其它代碼。
*重寫方法拋出異常範圍不能大於被重寫方法排除的異常範圍。
異常的長處:①、強製程序猿考慮程式的安全性和可控性。
②、有利於代碼調試。
③、把錯誤處理代碼從常規代碼中分離出來。
java學習------異常