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

1、自定義異常類測試

咱們知道全部的異常都是Exception,因此咱們須要自定義異常只須要繼承那個Exception類就能夠了。下面咱們自定義一個異常類,代碼以下:spa

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

 

2、設計方法,拋出異常設計

下面咱們能夠設計一個方法,拋出異常,代碼以下:code

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

 

注意拋出異常的格式是在方法後面使用throws關鍵字,能夠拋出多個異常使用英文逗號隔開便可。在程序裏面咱們要求年齡必須是大於18,不然就顯示的拋出異常,在這裏使用的關鍵字是throw。拋出咱們剛纔新建的異常類對象。對象

3、測試方法blog

咱們在main方法中調用這個方法。因爲咱們設計的這個方法拋出了異常。全部咱們在調用的時候編譯器要求咱們必須處理異常。咱們有兩種處理方法繼承

一、使用try...catch...捕獲異常編譯器

因爲方法拋出了兩個異常因此咱們兩個都須要捕獲。代碼以下:it

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();
        }
    }
}

 

 

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

咱們也須要拋出兩個異常。代碼以下:

public class Run {
    public static void main(String[] args) throws ArithmeticException,
            MyException {
        Student student = new Student();
        student.stu(18);
    }
}
相關文章
相關標籤/搜索