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向上(方法的調用處)聲明io

(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用於寫在方法裏

相關文章
相關標籤/搜索