news 2026/5/12 18:11:55

[Java]PTA:jmu-Java-06异常-finally

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[Java]PTA:jmu-Java-06异常-finally

代码中向系统申请资源,到最后都要将资源释放。

现有一Resource类代表资源类,包含方法:

  1. open(String str)打开资源,声明为抛出Exception(包含出错信息)。
  2. close()方法释放资源,声明为抛出RuntimeException(包含出错信息)

现在根据open(String str)中str的不同,打印不同的信息。str的内容分为4种情况:

  1. fail fail,代表open和close均会出现异常。打印open的出错信息与close的出错信息。
  2. fail success,代表open抛出异常,打印open出错信息。close正常执行,打印resource release success
  3. success fail ,代表open正常执行,打印resource open success。close抛出异常,打印close出错信息。
  4. success success,代表open正常执行,打印resource open success,close正常执行打印resource release success。

注1:你不用编写打印出错信息的代码。
注2:捕获异常后使用System.out.println(e)输出异常信息,e是所产生的异常。

裁判测试程序:

public static void main(String[] args) { Scanner sc = new Scanner(System.in); Resource resource = null; try{ resource = new Resource(); resource.open(sc.nextLine()); /*这里放置你的答案*/ sc.close(); }

以下输入样例代表输入success success。

输入样例

success success

输出样例

resource open success resource release success

代码如下

// 第一步:open成功,打印open成功的信息 System.out.println("resource open success"); } catch (Exception e) { // 捕获open()抛出的Exception // 第二步:open失败,打印open的异常信息 System.out.println(e); } finally { // 第三步:无论open是否成功,都尝试关闭资源 if (resource != null) { // 避免resource为null时调用close() try { resource.close(); // 执行close() // close成功,打印释放成功 System.out.println("resource release success"); } catch (RuntimeException e) { // 捕获close()抛出的RuntimeException // close失败,打印close的异常信息 System.out.println(e); } } }

注意:

  1. 资源释放必须用 finally(无论是否抛异常,close 必执行);
  2. 不同作用域的 catch 块彼此独立,子类异常不会被父类 catch 覆盖;
  3. RuntimeException(非受检)的捕获:要么在发生处就近捕获,要么放任向上抛
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 17:52:20

11、DHCP高级配置与DHCPv6使用指南

DHCP高级配置与DHCPv6使用指南 1. DHCP中继过程 大多数商用路由器可配置为DHCP中继代理,这样就无需在每个子网中都将Windows服务器配置为中继代理。DHCP中继过程的详细步骤如下: 1. 与DHCP中继代理位于同一子网的客户端发送DHCPDISCOVER广播,请求IP地址。 2. 中继代理将…

作者头像 李华
网站建设 2026/5/11 14:47:01

Linly-Talker表情库包含多少种基本情绪?

Linly-Talker表情库包含多少种基本情绪? 在数字人技术迅速普及的今天,一个关键问题始终萦绕在开发者和内容创作者心头:如何让虚拟形象真正“有血有肉”? 答案或许就藏在一个看似简单的功能背后——表情。Linly-Talker作为近年来备…

作者头像 李华
网站建设 2026/4/23 12:17:07

洛谷 B4065:[GESP202412 二级] 数位和 ← 字符串

【题目来源】 https://www.luogu.com.cn/problem/B4065 【题目描述】 小杨有 n 个正整数,小杨想知道这些正整数的数位和中最大值是多少。“数位和”指的是一个数字中所有数位的和。例如:对于数字 12345,它的各个数位分别是 1,2,3,4,5。将这些数位相加&a…

作者头像 李华
网站建设 2026/5/7 13:34:52

职场高效摸鱼学习助手,核心功能,导入学习资料,文字,音频,自动拆分成五到十分钟片段,界面伪装成工作报表,点击隐藏学习瞬间到工作界面,记录学习,支持后台播放音频,跳过重复内容,避免上班被领导发现。

职场高效学习助手(碎片时间学习系统)一、核心代码(模块化设计)1. 配置文件("config.py")集中管理系统参数与伪装界面内容。# 配置模块:系统常量与伪装界面模板import osclass Config:…

作者头像 李华
网站建设 2026/5/11 6:42:39

Ring-flash-2.0:6.1B激活MoE模型推理破百B性能

Ring-flash-2.0:6.1B激活MoE模型推理破百B性能 【免费下载链接】Ring-flash-2.0 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ring-flash-2.0 近日,inclusionAI正式开源高性能思维模型Ring-flash-2.0,该模型基于MoE&am…

作者头像 李华
网站建设 2026/5/5 12:27:01

Linly-Talker在智能车载系统中的语音助手应用

Linly-Talker在智能车载系统中的语音助手应用技术背景与演进趋势 当驾驶员在高速上轻声说一句“我有点累”,车载系统不仅理解字面意思,还能主动建议开启通风座椅、播放舒缓音乐,并通过中控屏上一个温和微笑的虚拟形象给予回应——这不再是科幻…

作者头像 李华