-1-6 java 異常簡單介紹 java異常 異常體系 Throwable 分類 throws和throw 異常處理 自訂異常

來源:互聯網
上載者:User

標籤:分類   尾碼   style   沒有   dem   mil   line   現實生活   add   

  異常 異常:異常就是Java程式在運行過程中出現的錯誤。異常由來:問題也是現實生活中一個具體事務,也可以通過java 的類的形式進行描述,並封裝成對象。其實就是Java對不正常情況進行描述後的對象體現。Throwable        |--Error        嚴重問題,我們不處理。        |--Exception                |--RuntimeException        運行期異常,我們需要修正代碼                |--非RuntimeException 編譯期異常,必須處理的,否則程式編譯不通過  Exception和Error的子類名都是以父類名作為尾碼。 Java中的異常被分為兩大類:編譯時間異常和運行時異常。所有的RuntimeException類及其子類的執行個體被稱為運行時異常,其他的異常就是編譯時間異常編譯時間異常?Java程式必須顯示處理,否則程式就會發生錯誤,無法通過編譯運行時異常?無需顯示處理,也可以和編譯時間異常一樣處理   Throwable基本方法
getMessage()?擷取異常資訊,返回字串。toString()?擷取異常類名和異常資訊,返回字串。printStackTrace()?擷取異常類名和異常資訊,以及異常出現在程式中的位置。傳回值void。printStackTrace(PrintStream s)?通常用該方法將異常內容儲存在記錄檔中,以便查閱。 
  throws和throwthrows?用在方法聲明後面,跟的是異常類名?可以跟多個異常類名,用逗號隔開?表示拋出異常,由該方法的調用者來處理?throws表示出現異常的一種可能性,並不一定會發生這些異常throw?用在方法體內,跟的是異常對象名?只能拋出一個異常對象名?表示拋出異常,由方法體內的語句處理?throw則是拋出了異常,執行throw則一定拋出了某種異常 
  異常處理過程  JVM的預設處理        把異常的名稱,原因,位置等資訊輸出在控制台,但是程式不能繼續執行了。自己處理        try...catch...finally                自己編寫處理代碼,後面的程式可以繼續執行        throws                把自己處理不了的,在方法上聲明,告訴調用者,這裡有問題 

try

{

 

需要檢測的代碼;

}

catch

(異常類  變數)

{

 

異常處理代碼;

}

finally

{

 

一定會執行的代碼; 

}

Finally代碼塊控制的語句體一定會執行

只有一種情況不會被執行。就是在之前執行了System.exit(0)。

主要用於釋放資源

 常見變形形式                        try...catch...finally                        try...catch...                        try...catch...catch...                        try...catch...catch...fianlly                        try...finally    自訂異常自訂類繼承Exception或者其子類,只需要提供無參構造和一個帶參構造即可通過建構函式定義異常資訊。

例:

Class DemoException extends Exception{  DemoException(String message)  {  super(message);  }}

 

通過throw將自訂異常拋出。 RuntimeException以及其子類如果在函數中被throw拋出,可以不用在函數上聲明。1.父的方法有異常拋出,子的重寫方法在拋出異常的時候必須要小於等於父的異常,也就是必須拋出相同的異常或異常的子類2.父的方法沒有異常拋出,子的重寫方法不能有異常拋出,如果子類方法內有異常發生,那麼子類只能try,不能throws3.父的方法拋出多個異常,子的重寫方法必須比父少或者小,不能拋出新的異常 

-1-6 java 異常簡單介紹 java異常 異常體系 Throwable 分類 throws和throw 異常處理 自訂異常

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.