使用java内置的异常类可以描述在编程时出现的大部分异常情况
也可以通过自定义异常描述特定业务产生的异常类型
所谓自定义异常,就是定义一个类,去继承Throwable类作者它的子类
例子:针对酒店不允许18岁以下,80岁以上的用户单独入住,定义一个异常类
package com.mpp.test; //定义一个酒店年龄限制的异常类,继承Exception public class HotelAgeException extends Exception { //无参构造,完成异常信息描述 public HotelAgeException(){ //调用父类的带参构造??? super("18岁以下,80岁以上的住客必须由亲友陪同"); } }
抛出自定义异常类
package com.mpp.test; import java.util.Scanner; public class TryDemoFour { public static void main(String[] args) { try { testAge(); } catch (HotelAgeException e) { System.out.println(e.getMessage()); //显示异常信息 System.out.println("酒店前台工作人员不允许办理入住登记"); }catch (Exception e){ e.printStackTrace(); } } public static void testAge() throws HotelAgeException { System.out.println("请输入年龄:"); Scanner input = new Scanner(System.in); int age = input.nextInt(); if (age < 18 || age > 80) { throw new HotelAgeException(); //抛出自定义的异常类 } else { System.out.println("欢迎入住本酒店"); } } }