java學習------異常

來源:互聯網
上載者:User

標籤: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學習------異常

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.