1.自定义异常的概念
Java异常十一这篇博客中,介绍了酒店入住时年龄小于18或大于80的情况下抛出异常。如果在一个项目中,这种类型的异常会频繁的出现,或者我们希望借由特定的类型来去针对这种特定业务进行描述的话,那么可以通过自定义异常类来实现这个需求。
2.自定义异常流程
第三步,使用自定义的异常类:
(第三步,就体现了抛出什么类型的异常,就在该类型异常对应的catch块中添加对应的处理逻辑)
public class TryDemoFour {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
testAge();
} catch (HotelAgeException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
System.out.println("不允许入住");
// e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}
}
public static void testAge() throws HotelAgeException{
System.out.println("请输入年龄");
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
if(age <18 || age > 80){
//throw new Exception("小于18岁和大于80岁的人需要亲友陪同。");
throw new HotelAgeException();
}else{
System.out.println("欢迎入住。 ");
}
}
}
3.自定义异常的常见问题
文字太多,浏览下就行
(由2可知,自定义的异常往往是由预先设计好的业务逻辑来触发的)
(注:在实际开发中归纳常见的用法)
4的意思是,自定义异常的时候,在使用的时候,throw自动抛出这个异常是必要的。(下面图很多,但内容少)