java自定義異常類


java自定義異常類

  1. MyException類

    //或者繼承RuntimeException(運行時異常) 
    public class MyException extends Exception { 
    
      private static final long serialVersionUID = 1L; 
    
      // 提供無參數的構造方法
      public MyException() { 
      } 
    
      // 提供一個有參數的構造方法,可自動生成
      public MyException(String msg) { 
        super(msg);// 把參數傳遞給Throwable的帶String參數的構造方法 
      } 
    
    } 
    

    查看Exception類的源碼, 發現源碼也就這么寫的,繼承后自定義的異常類也就成為了java異常體系的一部分

  2. 寫一個Student類,手動拋出MyException

    class Student{
        private int id;
        // 該異常繼承自Exception類,需要捕獲或者向上拋出異常
        public void regist(int id) throws Exception {
            if ( id > 0){
                this.id = id;
            }else{
                // 手動拋出異常
                throw new MyException("不能輸入負數");
            }
        }
    }
    
  3. 測試類StudentTest

    public class StudentTest{
        public static void main(String args[]){
            try{
                Student s = new Student();
                s.regist(-1001);
                // 對Student類throws的異常進行try-catch處理;
                System.out.println(s);
            }catch (Exception e){
                System.out.println(e.getMessage())
            }
        }
    }
    


免責聲明!

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



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