【异常】自定义异常

来源:互联网 发布:跳跃网络的游戏有哪些 编辑:程序博客网 时间:2024/06/05 02:38

Java提供的异常体系不可能预见所有希望加以报告的错误

  • 自定义异常类必须从已有的异常类继承
  • 自定义异常是不是受查异常(非受查异常)就看父类是不是受查异常(非受查异常)
  • 建立新的异常类型最简单的方法就是让编译器产生默认构造方法
  • 对异常来说,最重要的部分就是它的类名,抛出后可以通过类名判断发生异常的原因
  • 可以为异常类定义一个接收字符串参数的构造方法,字符串参数描述异常信息
public class ExceptionDemo3 {     public static void main(String[] args) {          Bar bar=new Bar();          try{              bar.Enter(15);          }catch(AgeLessThanEighteenException e){              //调用者在这里捕获bar.Enter()方法的非受查异常。              System.out.println("错误信息: "+e.getMessage());          }          //如果没有上面的catch语句块,程序会中断,这一句就不会执行          System.out.println("end");     }}//自定义的异常类继承已有的继承类class AgeLessThanEighteenException extends Exception{    private String message; //字符串参数描述异常信息    public AgeLessThanEighteenException(String message){        this.message=message;    }    //重写throwable的getMessage方法    public String getMessage(){        return message;    }}class Bar{     //throws标注在方法名之后,提示调用者,可能抛出的异常,让调用者不要忘记捕获     public void Enter(int age) throws AgeLessThanEighteenException {          if(age<18){              //抛出非受查异常,但是并不捕获,捕获的动作交给调用者执行              throw new AgeLessThanEighteenException("年龄不合格");          }else{              System.out.println("欢迎光临");          }     }}
0 0