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

推荐订阅源

The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
月光博客
月光博客
博客园 - Franky
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
有赞技术团队
有赞技术团队
V
V2EX
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 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生成高质量内容。