zoukankan      html  css  js  c++  java
  • 37 自定义异常

    例子:

    HotelTryCatchDemo.java:
    package com.snape.java.ExceptionProj;
    
    import java.util.Scanner;
    
    public class HotelTryCatchDemo {
        public static void main(String[] args) {
            try {
                AgeTest();
            } catch (HotelAgeException e) {
                System.out.println(e.getMessage());
                System.out.println("酒店前台工作人员不允许办理入住登记");    //根据情况作出的特殊处理
            }catch (Exception e){
                e.printStackTrace();
            }
        }//main方法结束
    
        /**
         * throw 抛出异常对象的处理方案:
         * 1.通过try...catch包含throw语句,自己抛自己处理
         * 2.通过throws在方法声明处抛出异常类型--谁调用谁处理--调用者可以自己处理,也可以继续上抛
         *   此时可以抛出与throw对象相同的类型或者其父类
         */
        //描述酒店入住规则,年龄在18岁以下或80岁以上,须由亲友陪同
    //    public static void AgeTest(){
    //        try {
    //            Scanner input = new Scanner(System.in);
    //            System.out.println("请输入年龄:");
    //            int age = input.nextInt();
    //
    //            if(age<18 || age>80){
    //                throw new Exception("年龄在18岁以下或80岁以上,须由亲友陪同");
    //            }else{
    //                System.out.println("欢迎来到本酒店");
    //            }
    //        }catch (Exception e){
    //            e.printStackTrace();
    //        }
    //    }//AgeTest()方法结束
    
    
        public static void AgeTest() throws HotelAgeException {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入年龄:");
            int age = input.nextInt();
    
            if(age<18 || age>80){
    //            throw new Exception("年龄在18岁以下或80岁以上,须由亲友陪同");
                throw new HotelAgeException();  //直接进行无参构造
            }else{
                System.out.println("欢迎来到本酒店");
            }
        }//AgeTest()方法结束
    }//类HotelTryTest类结束
    HotelAgeException.java:
    package com.snape.java.ExceptionProj;
    
    public class HotelAgeException extends Exception {
        //无参构造方法
        public HotelAgeException(){
            super("18岁以下、80岁以上的住客须由亲友陪同");
        }
    }

    结果:

  • 相关阅读:
    [bzoj4239]巴士走读
    [bzoj1146]网络管理
    [luogu3292]幸运数字
    [51nod1597]有限背包计数问题
    [bzoj2654]tree
    [bzoj2668]交换棋子
    [bzoj3173]最长上升子序列
    [hdu6715]算术
    [bzoj3784]树上的路径
    [bzoj1221]软件开发
  • 原文地址:https://www.cnblogs.com/CPU-Easy/p/12182737.html
Copyright © 2011-2022 走看看