任务描述

本关任务:接收给定的一个整数(年龄),当年龄小于 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 **********/}}

学习-Java异常处理之throw之酒店入住相关推荐

  1. 学习-Java异常处理之try-catch之异常捕获

    第1关:学习-Java异常处理之try-catch之异常捕获 任务描述 相关知识 什么是异常 非运行时异常 运行时异常 错误 捕获异常 异常的使用原则 编程要求 测试说明 任务描述 本关任务:求给定两 ...

  2. java异常处理之throw, throws,try和catch

    转自 http://blog.csdn.net/zhouyong80/article/details/1907799  程序运行过程中可能会出现异常情况,比如被0除.对负数计算平方根等,还有可能会出现 ...

  3. Java异常处理throws/throw

    Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常). • Runtime异常:所有的RuntimeException类及其子类的实例: • Checked异常:不是Run ...

  4. java异常处理的throw和throws的区别

    1. 区别 throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理.而throw则是指抛出的一个具体的异常类型. 2.分别介绍 ...

  5. 【Java】第11章 JAVA 异常处理 头歌Educoder实训作业(十一)

    第1关:学习-Java异常处理之try-catch之异常捕获 任务描述 本关任务:求给定两个数的商,并捕获除数为 0 的异常. 相关知识 为了完成本关任务,你需要掌握: 1.什么是异常: 2.如何捕获 ...

  6. Java 异常处理学习总结

    Java 异常处理学习总结 -------------------------------------------------------------------------------------- ...

  7. 异常处理关于数组java_关于java异常处理的自我学习

    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...

  8. (JAVA学习笔记) 异常处理

    文章目录 什么是异常 异常分类 异常体系结构 Error Exception Error和Exception的区别: 异常处理机制 代码演示 自定义异常 代码演示 什么是异常 异常指程序运行中出现的不 ...

  9. 多态的概念、对象上下转型、多态的应用、异常(异常概念、异常分类、java异常处理机制、try...catch...finally、throw和throws、自定义异常)

    多态的概念: 多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果. 多态存在的三个必要条件: ① 需要存在继承或实现关系 ② 同样的方法调用而执行不同的操作.运行不同代码(重写 ...

最新文章

  1. keras 的 example 文件 neural_doodle.py 解析
  2. 大马哈鱼的C#学习笔记(3):Invoke/BeginInvoke/DynamicInvoke
  3. 数据结构实验之图论三:判断可达性(dfs/bfs)
  4. python分组函数_Python中如何按列分组和按自己的函数汇总
  5. Redis操作Hash相关API
  6. 统计学习方法笔记(李航)———第五章(决策树)
  7. 从helloworld回顾程序的编译过程之二
  8. 三层架构学习的困难_TCP/IP协议栈-之-三层交换技术
  9. Trie树---前缀最相似匹配
  10. hive Beeline plus HiveServer2简单使用
  11. 明解c语言答案第五章,明解C语言 入门篇 第十章答案
  12. CAD2008中常用快捷命令
  13. 高中计算机上册知识总结怎么写,高中计算机总结范文
  14. 如何做顶级“新生代农民工”?这几本书为你打开大门
  15. iiOS 6 新特性
  16. MySQL 8.0安装教程
  17. rdkit 力场优化UFFOptimizeMolecule、MMFFOptimizeMolecule;chem3D 3D分子生成;获取分子坐标对象
  18. 紫光全速狂飙!2019年就开始量产64层NAND闪存芯片
  19. 《嫌疑人X的献身》读书笔记
  20. java mysql选择题_MySQL选择填空基础题

热门文章

  1. idea 中 Tomcat 启动失败
  2. 电脑桌面上1像素等于多少毫米
  3. python矩阵转置_867. 矩阵转置(Python)
  4. mongodump备份分片数据库的操作
  5. 构造函数和析构函数顺序
  6. 鸿蒙是不是把系统提供给友商,鸿蒙系统即将上线,却遭友商公开“嘲讽”,华为为何不受待见?...
  7. JavaScript-判断数据类型(typeof)
  8. 个人做自媒体怎么运营?
  9. java字符串替换空格符_字符串替换空格
  10. 用通俗易懂的大白话搞明白Java里的函数式编程和Lambda表达式