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