31.3 自定義異常類 MyException


/*
* 異常的分類
運行時期異常:RuntimeException的子類就是運行時期異常,在編譯時期可以自由選擇處理或者不處理
編譯時期異常:是Exception的子類,非RuntimeExcpetion的子類,在編譯時期必須處理

* 需求:寫一個方法,接受考試成績,如果考試成績的范圍在0-100之間則屬於正常,否則屬於異常
*
* throws:處理異常的一種方式,把異常拋出,由調用者來處理
* throw:制造異常的方式,並且結束方法
*
* 注意:如果拋出(throw)的是編譯時期異常,必須在方法聲明處拋出(throws)
*
* 如何自定義一個異常類呢?
* 非常簡單,寫一個類去繼承Exception或者RuntimeException,然后實現多個構造即可
* 繼承Exception則編譯使就需要處理異常。繼承RuntimeException則是運行后會報出異常
*
*/

 

package day31_exception;

public class MyException extends /*Exception */RuntimeException{
    public MyException() {
        super();
    }

    public MyException(String message){
        super(message);
    }
}
public class ExceptionDemo2異常的分類 {
    public static void main(String[] args) {
       try {
           boolean flag = checkNum(1099);
           System.out.println(flag);
       }catch (MyException e) {
//           e.printStackTrace();//printStackTrace輸出和系統輸出的報錯一致,優點在於這個報錯是try報出的不會使程序退出
           System.out.println(e.toString());
       }
    }

    public static boolean checkNum(int num) /*throws MyException */{
        if(0>num || num>100) {
//            return false;
            throw new MyException("數據不在范圍內");
        }

        return true;
    }
}

 

輸出

 


免責聲明!

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



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