java自定義異常和throw、throws的使用


一、自定義異常類

我們知道所有的異常都是Exception,所以我們需要自定義異常只需要繼承那個Exception類就可以了。下面我們自定義一個異常類,代碼如下:

/**
 * 自定義異常,
 */
//繼承  Exception
public class MyException  extends Exception{
    public MyException(String message){
        //出現異常打印的語句
        super(message);
    }
}

 

二、設計方法,拋出異常

下面我們可以設計一個方法,拋出異常,代碼如下:

public class Student {
                           //顯示拋出異常 ,可以同時拋出多個,
                          //那么,調用此方法的就必須捕獲此異常或者繼續拋出
    public void stu(int age) throws MyException,ArithmeticException{
        if(age<18){
            throw new MyException("靚仔,你年齡不夠");
        }
        System.out.println("歡迎,報名!");
    }
}

 

注意拋出異常的格式是在方法后面使用throws關鍵字,可以拋出多個異常使用英文逗號隔開即可。在程序里面我們要求年齡必須是大於18,否則就顯示的拋出異常,在這里使用的關鍵字是throw。拋出我們剛才新建的異常類對象。

三、測試方法

我們在main方法中調用這個方法。由於我們設計的這個方法拋出了異常。所有我們在調用的時候編譯器要求我們必須處理異常。我們有兩種處理方法

1、使用try...catch...捕獲異常

由於方法拋出了兩個異常所以我們兩個都需要捕獲。代碼如下:

public class Run {
    public static void main(String[] args) {
        Student student = new Student();
        try {
            student.stu(18);
        } catch (ArithmeticException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MyException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

 

2、在調用的方法使用throws繼續拋出異常。

我們也需要拋出兩個異常。代碼如下:

public class Run {
    public static void main(String[] args) throws ArithmeticException,
            MyException {
        Student student = new Student();
        student.stu(18);
    }
}

 


免責聲明!

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



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