1. 程式人生 > 其它 >【狂神說Java】學習筆記18:異常機制 Exception

【狂神說Java】學習筆記18:異常機制 Exception

【狂神說Java】學習筆記18:異常機制 Exception

[01] 什麼是異常

[02] 異常體系結構

[03] Java異常處理機制

[04] 處理異常

[05] 自定義異常

[06] 總結

--------------------------------------------------------------------


[01] 什麼是異常


異常一般分為三種:

檢查性異常,執行時異常,錯誤ERROR(較致命)

測試員是專門進行測試的。

[02] 異常體系結構

異常體系結構


Error和Exception的區別

Error是由Java丟擲的,大多數於程式碼編譯者無關,但是避免此類Error,因為一旦線上執行的程式崩潰,會造成無法彌補的損失。


Exception一般是程式設計師設計時導致的出錯,



[03] Java異常處理機制

分為丟擲異常和捕獲異常。

[04] 處理異常

例項1:a/b,當b為0的時候出現異常。捕獲異常的寫法。

package oop.Exception;

public class demo01 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        //異常處理時必須要try和catch。可以不要finally。
        //catch捕獲多個異常的時候,括號裡的異常型別按從小到大的等級去寫。否則報錯。
        try{    //try監控區域
            System.out.println(a/b);
        }catch(ArithmeticException e){  // catch捕獲異常,裡面引數時捕獲的異常型別。
            System.out.println("程式出現異常,被除的變數不能為o");

        }catch(RuntimeException e){
            System.out.println("RuntimeException");

        }catch(Exception e){
            System.out.println("Exception");

        }finally {  //結束,可以不加。
            System.out.println("finally");
        }
    }
}
----------------------------------
程式出現異常,被除的變數不能為o
finally

tips 自動生成程式碼塊

//Ctrl + Alt + T  自動生成程式碼塊。
		try {
            System.out.println(a/b);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        }

[05] 自定義異常

Java裡有很多異常的處理,通過自定義異常寫出自己獨特的異常case。


自定義異常例項

自定義一個異常類MyException,使其繼承Exception。(Test1.java來測試這個異常類。)
然後寫規則讓超過10的時候丟擲異常,輸出”丟擲的異常MyException=>MyException{@引數}“的結果。
輸出的數字小於10則輸出這個數,並輸出OK。


[06] 總結


tips

程式異常的時候會自動報錯,顯示紅色,摁住 Alt + Enter ,會自動幫忙處理。

IO資源容易佔用記憶體資源,所以儘量加上finally語塊。