java異常的處理機制

tdongmu發表於2020-10-27

1 異常的定義

     在java中,組織當前當前方法或作用域的情況,稱之為異常。

編譯器異常最具有代表的檢查性異常是使用者錯誤或問題引起的異常,這是程式設計師無法預見的。例如要開啟一個不存在的資料夾時,一個異常就發生了,這些異常在編譯時不能被簡單的忽略。

執行期異常:執行期異常是可能被程式設計師避免的異常。與檢查性異常相反,執行時異常可以在編譯時被忽略。

錯誤:錯誤是脫離程式設計師控制的問題,錯誤在程式碼中通常被忽略。例如,當棧溢位時,一個錯誤就發生了,它們在編譯期也檢查不到的。

1.1異常的分類

1.1.1 執行期異常

    由系統檢測,使用者的Java程式中可以不做處理,系統將他們交給預設的異常處理程式

1.1.2 編譯器異常

   在程式中必須對其進行處理,否則編譯器會指出錯誤。

2 異常的繼承結構

1)Java中所有不正常類都繼承於Throwable類。主要包含Error類和Exception類;

2)Error類包括虛擬機器錯誤和執行緒死鎖,一旦出現,程式就徹底掛了。

3)Exception類,就是通常說的“異常”。

4)RuntimeException主要包括四種異常

1.算術異常

2.型別轉換異常

3.陣列下標越界

3.空指標異常

3 異常處理機制

3.1異常的捕獲

try程式碼塊

所有可能丟擲異常的語句都放入try塊中。

catch(必有)程式碼塊

用於處理try塊中所有生成異常的事件,當捕獲一個異常時剩下的catch語句就不再進行匹配。

finall(可選)

無論是否發生異常finally程式碼塊中的程式碼都會被執行。

異常捕獲示例演示

3.2 拋異常

throws/throw關鍵字

1)一個方法不處理它產生的異常,而是沿著呼叫層次向上傳遞,由呼叫它的方法來處理這些異常,叫宣告丟擲異常(throws)。

2)丟擲異常就是產生異常物件的過程,首先要生成異常物件,異常或者由虛擬機器生成,或者由某些類的實力生成,也可以在程式中生成。

3)可以丟擲的異常必須是throwable的子類

 

 

相關文章