CodeGym /Java 课程 /Java 语法 /关于多重捕获的多项任务 关于多重捕获的多项任务 Java 语法 第 9 级 , 课程 8 可用 “嗨,阿米戈。昨天我有点喝多了,所以恐怕我搞砸了你的任务。希望你不要生气,我会全部完成。这是对你好。来吧。” 评论 (11) TO VIEW ALL COMMENTS OR TO MAKE A COMMENT, GO TO FULL VERSION Mosum 级别 10,Nanjing,China 30 八月 2024 在Java中,异常处理机制将异常分为两大类:已检查异常(checked exceptions)和未检查异常(unchecked exceptions)。这两类异常的主要区别在于编译器如何处理它们。 已检查异常(Checked Exceptions): 这些异常是编译器强制要求处理的异常。 已检查异常通常是可预见且应用程序应该能够从这种异常恢复的情况。 如果一个方法可能抛出已检查异常,那么它必须通过throws关键字声明这些异常,或者在方法内部用try-catch块来捕获并处理这些异常。 IOException 和 SQLException 是已检查异常的例子。 未检查异常(Unchecked Exceptions): 这些异常通常是由于程序错误引起的,比如空指针访问、数组越界等。 编译器不要求必须处理未检查异常,因为这些问题通常应该在编写代码时避免。 未检查异常继承自 RuntimeException 类或 Error 类。 NullPointerException, ArrayIndexOutOfBoundsException, 和 ClassCastException 是未检查异常的例子。 简单来说,已检查异常是那些编译器会检查是否已经处理的异常,而未检查异常则是编译器不会强制你处理的异常。处理已检查异常可以让你的应用更加健壮,因为它迫使你在设计阶段就考虑到可能出现的问题;而未检查异常则更多地是为了捕捉那些本不应该发生的逻辑错误。 WL Lu 级别 14,Stuttgart,Germany 10 四月 2024 还是我聪明 全部验证下载正确的解决方法 Qin-1999 级别 22 4 一月 2024 搞砸了,但都是对你好 Super Ego 级别 14,Wu Han,China 2 三月 2023 这第9级和第8级难度一个地一个天 Qin-1999 级别 22 4 一月 2024 是!!!我太认同了!! 拔萝卜滴🐰 级别 22,chengdu,China Expert 6 二月 2023 最后一题需要借助课程4的思维导图 Bob 级别 20,伯明翰,美国 3 七月 2022 day6 阿狼 级别 32,Zhengzhou,China 12 六月 2022 day 9 ZZZNET 级别 16,United States of America 31 八月 2021 /* 异常只捕获异常。*/ catch (NullPointerException | FileNotFoundException ignore) 为什么这样写?且改动后,会出错。常用格式catch (NullPointerException e){ }catch (FileNotFoundException e){ } 士兴 彭 级别 15,Chongqing,China 5 五月 2022 那个竖杠表示 或 的意思 详情 见 烂泥扶不上墙机器人 级别 9,Chongqing,China 21 四月 2024 得益于 Java 7 版本引入的能力,我们还可以将捕获异构异常合并到一个块中,使代码更加紧凑和可读。如下例子 public String input() { String s = null; try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { s = reader.readLine(); if (s.equals("")) { throw new MyException("The string cannot be empty!"); } } catch (IOException | MyException e) { System.out.println(e.getMessage()); } return s; }
GO TO FULL VERSION