回覆列表
  • 1 # 使用者834195712159

    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()表示向控制檯列印詳細異常資訊

  • 中秋節和大豐收的關聯?
  • 腳腕扭傷後不疼但是腫,會自然消腫麼?