惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

博客园 - zhrb

使用 OpenCode+DeepSeek 进行Java编程 使用AI辅助编写报告的建议 Windows命令行简易入门 2026-适合初学者的"Windows+OpenClaw(小龙虾)+DeepSeek+飞书、QQ、微信"的安装与使用 AI驱动:90分钟Maven项目实战入门 第14周 预习、实验与作业:Java JDBC编程 第13周 预习、实验与作业:Java网络编程 第12周 预习、实验与作业:Java并发编程 基于AI辅助的Java程序设计贯穿式教学案例 第11周 预习、实验与作业:Java I/O流与文件 使用AI帮你写Java程序 第09周 预习、实验与作业:Java集合框架 第08周 预习、实验及作业:Java GUI编程 使用AI编写Java GUI程序的入门指南(Powered by DeepSeek) 第07周 期中复习(面向对象部分) 第06次 预习、实验与作业:接口与嵌套类 第05周 预习、实验与作业:继承与多态 第04周 预习、实验与作业:类的设计与继承 第03周 预习、实验与作业:面向对象入门2与类的识别 第02周 预习、实验与作业:Java基础语法2、面向对象入门
第10周 预习、实验与作业:异常处理机制
zhrb · 2025-11-04 · via 博客园 - zhrb

第10周 预习、实验与作业:异常处理机制

1. 预习

简易预习流程:先看预习课件,认真完成里面的习题与调查。然后试着在电脑前完成课前问题列表中的3-5。注意:可根据需要观看线上课程视频。

1.1 学习目标

  1. 了解Java异常继承架构。
  2. 学会使用异常处理机制(try-catch-finally、throws、throw)
  3. 能针对不同类型的异常(checked、unchecked)选择合适的处理式并做出应对(捕获或者声明抛出), 能根据需求选择已有的异常类或定制异常类。
  4. 能体会到异常处理机制是提高程序健壮性的一种重要方式。

1.2 预习任务

  1. 预习课件(两份)
  2. 建议观看视频:7.1 程序错误与异常、7.1.2 异常对象,7.2 异常处理机制,7.3 异常继承层次,7.4.1 try...catch...finally子句

1.3 课前问题列表

  1. 说出两个我们在使用软件、APP时遇到的异常。这些异常可能是什么类型的异常?你是怎么解决这类异常呢(重启、查看日志...)?

  2. 说出两个你在编写Java程序时最常遇到的异常。并判定这些异常是什么类型的问题(编译期问题、运行时问题)。你认为哪种类型的问题更好解决呢?

  3. 查询JDK文档,说说如下代码哪行抛出了什么类型的异常?为什么该段程序在运行时可能产生问题,但是不写try...catch,也可编译通过。

    public static void main(String[] args) {
        int[] x = new int[3];
        Scanner inputScan = new Scanner(System.in);
        for(int i = 0; i < x.length;){
            System.out.println("Please input the "+i+" integer:");
            String inputInt = inputScan.nextLine();  
            x[i] = Integer.parseInt(inputInt);  // 注意这里!
            i++;
        }
        System.out.println(Arrays.toString(x));
    }
    

尝试为上述代码添加try...catch。使得当输入错误时,可提示重新输入,直到输入正确后,才能继续往下执行。

  1. 将如下代码中NumberFormatException改成Exception可以吗?
    String x = "abc";
    try {
        int a = Integer.parseInt(x);
        System.out.println(a);
    } catch (NumberFormatException e) {
        e.printStackTrace();
    }
    
  2. 查询JDK文档,说说如下代码哪里抛出了什么异常?该异常意味着吗什么?需要捕获吗?为什么?
    String fileName = "abc";
    FileReader fileReader = new FileReader(fileName);
    

2.实验

  1. 实验链接:https://www.cnblogs.com/zhrb/p/6731114.html
    1. PTA编程:7.1 常见异常, 7.2 使用异常机制处理异常输入, 7.3 throw与throws。可选:日期类的基本使用。
    2. PTA函数:f7.1 多种类型异常的捕获
    • 课前提前完成7.1、7.2请实验课上课前联系老师检查加分
  2. 课上重点完成实验链接中的:
    • 1.5 为代码加上异常处理
    • 2.2 调试(实验任务书题目5)
    • 2.3 JUnit(实验任务书题目6)

3.课后任务(作业)

3.0 面向对象设计大作业自选题目展示(可选)

可演示如下两部分内容之一:

  1. 完整版、带GUI界面的“商城购物车系统”或“学生管理系统”。
  2. 上周自选的面向对象设计课题。主要包含:选题题目、前期调查(别人做的相关内容)、功能简介、技术选型、面向对象设计。

请在周四课前联系老师要求展示。

3.1 在线学习平台

  1. 视频
    7.4.2 throws关键字
    7.4.3 throw关键字
    7.5 不要滥用异常
    7.6 调试(可选)
  2. 讨论
    7.1.2 使用代码生成常见异常
    **7.2 思考:异常处理机制
    **7.3 思考:识别异常类型
    7.4.2 练一练:try...catch...finally综合练习
    **7.4.4 思考:throw与throws的使用
    **7.5 思考:不要滥用异常
  3. 章节测验
    限时完成:章节测验6(集合框架)

3.2 PTA编程(重要)

完成题集Java-07-异常处理中的:

  • 7.4 自定义异常(综合)、可选:7.5 日期类的基本使用
  • f7.2 finally、f7.3 ArrayIntegerStack异常改进版

拓展

课外阅读:AI大模型相关资料,掌握使用良好的Prompt生成高质量内容。