学习-Java异常处理之throw之酒店入住

任务描述

本关任务:接收给定的一个整数(年龄),当年龄小于 18 岁或者大于 90 岁时,抛出一个异常(Exception),提示“18岁以下,90岁以上的住客必须由亲友陪同”;当年龄处于 18 到 90 岁之间时,输出“欢迎入住本店”。

相关知识

之前我们学习了 throws 关键字,接下来我们了解一下跟它相似的 throw 关键字。

throw 关键字

throw 关键字的作用是:主动抛出异常

首先我们来看以下代码:

 
  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 0;
  4. System.out.println(a/b);
  5. }

运行这段代码,系统会自动抛出java.lang.ArithmeticException异常。 执行结果:

上述程序使用 throw 关键字也可以实现:

 
  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 0;
  4. // 主动抛出异常
  5. if(b == 0){
  6. throw new ArithmeticException("/ by zero");
  7. }
  8. System.out.println(a/b);
  9. }

执行结果:

throw 语句是抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常

注意:使用 throw 关键字主动抛出检测性异常的时候,在方法名上必须使用 throws 表明调用这个方法可能存在要抛出的异常。

举个例子:

ArithmeticException属于运行时异常,是在运行时检测的,所以上述代码编译是能通过的,而FileNotFoundException是属于检测性异常,是在编译之前就需要处理的,所以第二段程序要加上 throws 才能通过编译。


import java.util.Scanner;

public class ExcTest {


    public static void main(String[] args) throws Exception{
        // 请在Begin-End间编写代码
        /********** Begin **********/
        // 第一步:接收给定的年龄
        Scanner input = new Scanner(System.in);
        int age = input.nextInt();
        // 第二步:判断用户年龄,小于18或者大于90时,抛出异常
        if (age < 18 | age >90){
            throw new Exception("18岁以下,90岁以上的住客必须由亲友陪同");
        }
        // 第三步:当年龄介于18到90之间时,输出指定提示语
        if (age >= 18 & age <= 90){
            System.out.println("欢迎入住本酒店");
        }
        /********** End **********/

    }


}

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Java中的异常处理可以使用throw键字来抛出异常。在酒店入住程序中,可能会出现预订已满、房间已被占用等情况,此时可以使用throw抛出对应的异常信息,并在程序中进行处理。例如:如果预订已满,可以使用throw new RoomBookingFullException("预订已满")来抛出异常。 ### 回答2: Java中的异常处理Java程序设计中非常重要的一部分,它可以帮助我们解决代码中出现的各种异常情况,从而保证了程序的稳定性和可靠性。在Java异常处理中,throw语句是一个非常重要的键字,它可以用来手动抛出一个异常对象,并且让程序终止执行。 以酒店入住为例,我们可以通过Java异常处理来模拟一下酒店入住的过程中可能出现的异常情况。假设我们现在需要开发一个酒店管理系统,该系统需要实现酒店入住的操作,并且可以处理一些异常情况,如客人入住时没有提前预订、客房已经满员、客人没有足够的费用等。 在Java中,我们可以使用throw语句来手动抛出一个异常对象,并且在程序中对其进行处理。比如在酒店管理系统中,如果客人没有足够的费用,则可以通过throw语句手动抛出一个InsufficientFundsException异常,表示客人的账户余额不足。同时,在程序中可以使用try-catch语句来捕获这个异常对象,并且提示客人补充足够的费用。 另外,如果酒店客房已经满员,客人入住时没有房间可用,则可以通过throw语句手动抛出一个NoRoomsAvailableException异常,表示客房已满。在程序中,我们可以根据这个异常对象来提示客人稍后再来或者安排客人入住其他酒店。 总之,通过Java异常处理中的throw语句,我们可以对酒店入住操作中可能出现的异常情况进行逐一处理,并且保证程序的运行稳定性和可靠性。当然,这只是Java异常处理的一部分,如果想深入学习Java异常处理的相知识,还需要阅读更多的相资料并进行实践。 ### 回答3: 酒店入住是一项重要的服务,对于酒店管理者来说,尽可能避免顾客遇到不愉快的经历是非常重要的。然而,在日常操作中,有时候难免会遇到一些紧急情况,这就需要酒店管理者进行异常处理。 在Java编程中,我们可以使用throw:抛出一个异常,以便程序中其他地方可以捕获并进行相应的处理。在酒店入住中,可能会遇到许多异常情况,例如:预订确认失败、客房设施损坏、客人在房间内吸烟等等。这些情况都可能对顾客造成影响,需要酒店管理者立即采取措施来解决。 例如,如果预订确认失败,酒店管理者可以使用throw来抛出一个异常,提示酒店系统出现了错误,需要尽快修复。这样做可以避免客人在入住过程中遇到麻烦,同时也提供了一个有效的解决方式。 类似地,在酒店入住过程中如果客房设施损坏,房间清洁不达标等问题,在顾客提出抱怨的情况下,酒店管理者也可以使用throw抛出异常,让其他职员立即采取措施加以解决。在这种情况下,及时处理问题不仅可以提高顾客满意度,还可以带来更多的商机,使酒店业绩更加稳定。 总之,使用throw抛出异常可以让酒店管理者及时提出解决方案,避免出现不必要的麻烦,为客人提供更加优质的入住体验。因此,在学习Java异常处理时,学生们需要注重实践,模拟各种情况下的异常情况,熟练掌握throw的使用方法,从而为以后的工作做好准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼的三金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值