【知了堂學習筆記】java 自定義異常

 java 常見異常種類(Java Exception):

 

算術異常類:ArithmeticExecptionjava

 

空指針異常類:NullPointerException數據庫

 

類型強制轉換異常:ClassCastException數組

 

數組負下標異常:NegativeArrayException安全

 

數組下標越界異常:ArrayIndexOutOfBoundsException服務器

 

違背安全原則異常:SecturityExceptionpost

 

文件已結束異常:EOFException學習

 

文件未找到異常:FileNotFoundExceptionthis

 

字符串轉換爲數字異常:NumberFormatExceptionspa

操做數據庫異常:SQLException指針

輸入輸出異常:IOException

方法未找到異常:NoSuchMethodException

 

 

常見異常類爲兩大類型Throwable是java異常的根類分爲兩大子類Error和Exception, Error類表明了編譯和系統的錯誤,不容許捕獲;Exception類表明了標準Java庫方法所激發的異常。Exception類還包含運行異常類Runtime_Exception和非運行異常類Non_RuntimeException這兩個直接的子類。

今天主要談談自定義異常

爲何要自定義異常

咱們不可能期待JVM(Java虛擬機)自動拋出一個自定義異常,也不可以期待JVM會自動處理一個自定義異常。因此發現異常以及異常處理仍是得咱們本身完成。因此咱們要想作好一件事得先了解它是怎麼產生的。

自定義異常的實例:

package text;

//自定義一個異常繼承RuntimeException異常

public class Exception extends RuntimeException {
    public Exception() {
        super("自定義一個異常類");
    }
}

// 模擬服務器異常登陸

public class ConnectionServer {
    private final String ID = "123456";
    private final String password = "guoxiao";

    public void connect(String ID, String password) throws Exception {
        if (this.ID != ID || this.password.equals(password)) {
            throw new Exception();

            // 模擬失敗過程而後方法內部拋出異常
        }
    }
}

// 模擬登陸過程

public class LoginText {

    public static void main(String[] args) {
        LoginText laozhu = new LoginText();
        laozhu.login("556ssa", "553xha");

        // 建立一個老朱對象,而後登錄,讓服務器返回一個異常。
    }

    public void login(String ID, String password) {
        ConnectionServer connectionServer = new ConnectionServer();
        try {
            connectionServer.connect(ID, password);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

}

不用try{ }catch(){}處理的輸出結果

用try{}catch(){}處理的輸出結果

 

www.zhiliaotang.com 請關注知了堂學習更多的java知識

相關文章
相關標籤/搜索