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);
    }
}
相关文章
相关标签/搜索