java——關於異常處理機制的簡單原理和應用


 

異常處理機制的簡單原理和應用

 一、Execption可以分為java標准定義的異常和程序員自定義異常2種

(1)一種是當程序違反了java語規則的時候,JAVA虛擬機就會將發生的錯誤表示為一個異常.這里語法規則指的是JAVA類庫內置的語義檢查。

例如 int i = 2 / 0 或者 String str = null;str.length();

(2)另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創建自己的異常,並自由選擇在何時用throw關鍵字引發異常。

例如 Exception ex = new Exception("這是我自定義的異常信息");throw ex;

所有的異常都是Thowable的子類。

異常處理是與程序執行是並行的。

Try{

    //可能發現異常的語句塊

}catch(異常類型,e){

   //發生異常時候的執行語句塊

} finnally{

  //不管是否發生異常都執行的語句塊

}

二、異常的處理方式

包括捕獲異常和上拋異常

1、捕獲異常

以捕獲 int i=2/0 為例

          try {
            int i = 2 / 0;

        } catch (Exception ex) {// 所有異常的父類Exception
            ex.printStackTrace();
            // 處理異常
            System.out.println("異常信息:" + ex.getMessage());
        }

         finally {
            System.out.println("釋放資源,后續代碼,一定要執行的代碼");
        }
        System.out.println("繼續運行");

輸出結果為

ex.printStackTrace()表示向控制台打印詳細異常信息

2、上拋異常 throws

以 String str =null;

    str.length();(未實例化)為例

package test;

import com.hanqi.ThrowEX;

public class Test {
    public void test() throws Exception { //用throws
        String str = null;
        str.length();
    }

    public static void main(String[] args) {
        ThrowEX te = new ThrowEX();    //用throw
        try {
            te.test();
        } catch (Exception e) {// TODO 自動生成的 catch塊
            e.printStackTrace();
            System.out.println("異常信息為" + e.getMessage());
        }

    }
}

e.printStackTrace()表示向控制台打印詳細異常信息

 


免責聲明!

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



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