java中異常概念及分類、捕獲異常、聲明異常


  1. 異常的概念_分類

1.1異常的概念

異常( Exception 也稱例外)就是在程序的運行過程中所發生的不正常的事件,它會中斷正在運行的程序

  • 所需文件找不到
  • 網絡連接不通或中斷
  • 算術運算錯 (被零除…)
  • 數組下標越界
  • 裝載一個不存在的類或者對null對象操作
  • 類型轉換異常
  • ……

當Java程序出現以上的異常時,就會在所處的方法中產生一個異常對象。這個異常對象包括異常的類型,異常出現時程序的運行狀態以及對該異常的詳細描述。

1.2異常的分類

圖片

2.異常處理的方式一_捕獲異常

2.1捕獲異常所使用的關鍵字try、catch、finally

2.2try-catch-finally的使用

  1. try-catch組合
  2. 正常情況

圖片

  1. 異常情況,異常出現的類型與捕獲的類型匹配

圖片

  1. 異常情況,異常出現的類型與捕獲的類型不匹配

圖片

  1. try-finally組合

finally是無論是否產生異常,都執行的代碼,但是有一種情況finally不執行,即退出Java虛擬機。

  1. try-catch-finally組合
  2. 正常情況:執行try-finally
  3. 異常情況:類型相匹配,執行try-catch-finally
  4. 異常情況:類型不相匹配,執行try-finally

如果在catch中存在return語句,則先執行完finally語句再回頭執行return語句

圖片

3.異常處理方式二_聲明異常

3.1聲明異常的關鍵字throws

方法名的后面,用於聲明該方法可能會產生一個異常

如果方法聲明的是Exception類型的異常或者是Checked Exception異常,要求方法的調用處必須做處理。

(1)繼續使用throws向上(方法的調用處)聲明

(2)使用try-catch-finally進行處理

如果聲明的是RuntimeException類型的異常,那么方法的調用處可處理可不處理。

3.2繼承關系中的聲明異常

  1. 父類的方法聲明了Exception類型的異常,子類在重寫方法時,可以聲明也可以不聲明。但是如果子類重寫后的方法使用super關鍵字調用父類的方法,那么要求必須對異常進行處理。
  2. 如果父類的方法沒有異常,那么子類的方法如果一定會有Exception或Checked異常,要求子類必須自己使用try-catch處理,或者給父類方法加上異常的聲明
  3. 如果子類在重寫父類的方法時,產生的異常是RuntimeException異常時,那么可以不用處理

3.3throw拋出異常對象

寫在方法里

在捕獲一個異常前,必須有一段代碼先生成異常對象並把它拋出。這個過程我們以手工做,也可以由JRE來實現,但是他們調用的都是throw子句。

throws與throw

  1. throws用於聲明方法可能會產生的異常類型

throw手動拋出異常對象

  1. throws寫在方法名稱后面

throw用於寫在方法里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM