【Java练习题汇总】《第一行代码JAVA》异常处理篇,汇总Java练习题——异常的概念及处理标准格式(try、catch、finally、throws、throw)、断言机制 Assertion ~

这篇具有很好参考价值的文章主要介绍了【Java练习题汇总】《第一行代码JAVA》异常处理篇,汇总Java练习题——异常的概念及处理标准格式(try、catch、finally、throws、throw)、断言机制 Assertion ~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1️⃣ 异常处理篇

一、填空题

  1. Throwable 下的两个子类是______________ 、______________ 。
  2. ArthmeticException 类表示______________ 异常, ArraysIndexOutOfBoundsException 表示______________ 异常。
  3. 一个 try 代码后面必须跟着若干个_______ 代码段或者一个_______ 代码段。
  4. 如果一个方法使用了_______ , 则编译器会强制在使用此方法时进行异常的处理。
  5. 异常处理中使用_______ 作为异常的统一出口。

二、选择题

  1. 使用( )关键字可以在程序中手工抛出异常。
    A. throws
    B. throw
    C. assert
    D. class

  2. 下面( )关键字可以用在方法的声明处。
    A. throws
    B. assert
    C. class
    D. interface

  3. 为了捕获一个异常,代码必须放在下面( )中。
    A. try 块
    B. catch块
    C. throws块
    D. finally 块

  4. 下面关于try块的说法正确的是( )。
    A. try块后至少应有一个 catch块
    B. try 块后必须有finally 块
    C. 可能抛出异常的方法应放在try块中
    D. 对抛出的异常的处理应放在try块中

  5. finally 块中的代码将( )。
    A. 总是被执行
    B. 如果 try块后面没有 catch 块时, finally 块中的代码才会执行
    C. 异常发生时才被执行
    D. 异常没有发生时才执行

  6. 一个异常将终止( )。
    A. 整个程序
    B. 只终止抛出异常的方法
    C. 产生异常的 try块
    D. 上面的说法都不对

  7. 所有异常的共同父类是( )。
    A. Error
    B. Exception
    C. Throwable
    D. RuntimeException

三、判断题

  1. 一个try语句后有多个catch 时,捕获范围大的异常要放在捕获范围小的异常之后。 ( )
  2. finally 语句可以根据需要有选择地添加。 ( )

四、 简答题

  1. 简述 RuntimeException 和 Exception 的区别。
  2. try、catch、finally 三种语句的功能是什么?
  3. 简述Java 中的异常处理机制。
  4. 简述 Error 和 Exception 的区别。
  5. 列举三个常见的 RuntimeException 子类。

五、 编程题

  1. 编写应用程序,从命令行输入两个小数参数,求它们的商。要求程序中捕获 NumberFormatException 异常和 ArithmeticException 异常。

2️⃣ 答案

一、填空题

  1. ErrorException
  2. 算术异常, 数组索引越界异常
  3. catchfinally
  4. throws
  5. finally

二、选择题

  1. ( B )
  2. ( A )
  3. ( A )
  4. ( C )
  5. ( A )
  6. ( B )
  7. ( C )

三、判断题

  1. (√)
  2. (√)

四、简答题

  1. RuntimeExceptionException 的区别如下:

    • RuntimeExceptionException 的子类,属于不受检异常(Unchecked Exception)。
    • RuntimeException 及其子类是由程序错误或逻辑错误引起的异常,通常是可以被避免的异常。
    • Exception 除了 RuntimeException 及其子类外,还包括其他的受检异常(Checked Exception)。
    • 受检异常需要在方法声明中明确地进行处理或抛出,否则编译器会报错,要求进行异常处理。
  2. 三种语句的功能如下:

    • try 块:包含可能抛出异常的代码,并用于标识需要进行异常捕获和处理的代码块。
    • catch 块:用于捕获并处理特定类型的异常,在 try 块中抛出异常时,可以根据异常的类型在相应的 catch 块中执行对应的处理逻辑。
    • finally 块:无论是否发生异常,都会执行的代码块。通常用于释放资源或保证某些操作被执行。
  3. Java 中的异常处理机制如下:

    • 异常是在程序执行过程中出现的不正常情况,可以分为两类:已检查异常(Checked Exception)和未检查异常(Unchecked Exception)。
    • 已检查异常需要在方法声明中明确地进行处理或抛出,由开发人员根据需要决定如何处理异常。
    • 未检查异常是由程序错误或逻辑错误引起的异常,通常是可以被避免或修复的异常,不要求强制性处理。
    • 异常可以使用 try-catch 块捕获并处理,也可以使用 throws 关键字将异常抛给上层调用者处理。
    • 可以在 catch 块中根据异常类型进行不同的处理逻辑,或者在 finally 块中进行必要的清理和释放资源操作。
  4. ErrorException 的区别如下:

    • ErrorThrowable 的子类,表示严重错误或系统错误,通常是无法恢复或继续执行的错误。
    • Error 表示的是 JVM 或者硬件等环境相关的错误,开发人员一般无法通过代码来直接处理 Error
    • ExceptionThrowable 的另一个子类,包括了程序运行过程中可能出现的可处理的异常情况。
    • Exception 可以根据情况进行捕获和处理,或者继续抛出以便上层调用者处理。编译器会强制要求对受检异常进行处理。
  5. 常见的 RuntimeException 子类包括:

    • NullPointerException: 空指针异常,当变量引用为 null 时进行操作会抛出此异常。
    • IllegalArgumentException: 非法参数异常,当传递给方法的参数不满足要求时抛出。
    • IndexOutOfBoundsException: 索引越界异常,当使用非法的索引访问数组或集合时抛出。

五、 编程题

  1. 代码如下:文章来源地址https://www.toymoban.com/news/detail-603086.html

    import java.util.Scanner;
    
    public class DivideNumbers {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            try {
                System.out.print("请输入被除数: ");
                double dividend = Double.parseDouble(scanner.nextLine());
    
                System.out.print("请输入除数: ");
                double divisor = Double.parseDouble(scanner.nextLine());
    
                double quotient = divide(dividend, divisor);
                System.out.println("商为: " + quotient);
            } catch (NumberFormatException e) {
                System.out.println("输入的参数不是有效的小数格式");
            } catch (ArithmeticException e) {
                System.out.println("除数不能为0");
            }
            
            scanner.close();
        }
    
        public static double divide(double a, double b) {
            return a / b;
        }
    }
    

【Java练习题汇总】《第一行代码JAVA》异常处理篇,汇总Java练习题——异常的概念及处理标准格式(try、catch、finally、throws、throw)、断言机制 Assertion ~,# Java练习题,java,开发语言,jar,后端,经验分享,java-ee

到了这里,关于【Java练习题汇总】《第一行代码JAVA》异常处理篇,汇总Java练习题——异常的概念及处理标准格式(try、catch、finally、throws、throw)、断言机制 Assertion ~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java -- 练习题

    1.定义一个Person类,要求有姓名和年龄,并且符合JavaBean标准,定义Student类继承Person,定义测试类,创建Student对象,要求创建Student对象的同时,指定Student对象的姓名为\\\"张三\\\",只能指定姓名不许指定年龄 2.按照以下要求定义类 3.键盘录入一个字符串,判断这个字符串是否是对称的字符串

    2023年04月09日
    浏览(28)
  • Java 练习题

    台式机,安卓手机,iPhone手机,他们其实都是计算机,计算机干的事情就是严格的执行人的指令,但是目前的科技条件下,电脑仍然有一个很大的短板,这个短板是? A 思考 B 计算 答案:A 计算机不能思考,那他是如何工作的呢,下面的描述哪个是对的? A 等待人工智能的进

    2024年02月03日
    浏览(26)
  • Java练习题2022-1

    HashSet是Java中常用的Set集合,向HashSet集合中添加数据对象时,首先会调用对象的hashCode()方法获取哈希码,根据哈希码计算对象的存储位置,如果相应位置上已经有数据对象,则会调用对象的equals()方法判断新加入的对象与现有对象是否重复,如果重复则拒绝加入。为了使用

    2024年02月08日
    浏览(36)
  • JAVA练习题——判断题

    1:java语言中不用区分字母的大写小写 T         F 2:Java的字符类型采用的是ASCII编码。 T         F 3:Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。 T          F 4:Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。 T         F

    2024年02月09日
    浏览(34)
  • Java选择结构作业练习题

    1.从键盘输入3个数,求最大值 请输入3个数: 5 2 11   你好,最大数是11 我想买车,买什么车决定于我在银行有多少存款: 如果我的存款超过500万,我就买卡迪拉克 否则,如果我的存款超过100万,我就买帕萨特 否则, 如果我的存款超过50万,我就买依兰特 否则, 如果我的存

    2024年02月02日
    浏览(31)
  • 2021级Java程序设计课程练习题

    1-1 抽象类是不能实例化的。  T   1-2 JAVA抽象类中一定含有抽象方法。  F   答题时没有看到一定qaq,抽象类不一定包含抽象方法,但包含抽象方法的类一定是抽象类。 2-2 有如下程序代码, 程序运行的结果是( )。 D.false true 第一个竟然是false!!! 使用“==”比较两个字符

    2023年04月23日
    浏览(32)
  • Java入门篇 之 逻辑控制(练习题篇)

    博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦; 个人认为,只要自己努力在将来的某一天一定会看到回报,在看这篇博客的你,不就是在努力吗,所以啊,不要放弃,路上必定坎坷,但是成功后放眼望去,这将是青春很浓重的一笔 今日份励志文案 :若结

    2024年02月06日
    浏览(33)
  • Java练习题-用冒泡排序法实现数组排序

    ✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生

    2024年02月08日
    浏览(40)
  • Java从入门到熟悉的48道练习题[完结]

    Ps:好久没写blog,所以打算写一个作业练习的系列,可以让新手更容易上手。大家加油!!废话不多说,上代码。 睡觉前把下午完成的作业写到blog,好困。。。要是能有个人给我点个赞我将会无比高兴!! PS:以上只是我自己的解题方法,代码么,其实没有什么标准的死答案,

    2024年02月04日
    浏览(41)
  • 【Java基础篇】逻辑控制练习题与猜数字游戏

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏 :Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 判

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包