中职《计算机程序设计(Java)(第2版)》(电子工业·2019)同步教案单元六 Java的异常处理

资源下载
  1. 二一教育资源

中职《计算机程序设计(Java)(第2版)》(电子工业·2019)同步教案单元六 Java的异常处理

资源简介

课 堂 教 学 计 划 表
课程名称 Java程序设计 教师姓名 专业班级
授课时间 授课地点 学时数 8
授课题目 § 6 Java的异常处理
教学目标及要求 知识目标 Java中异常的概念;Java中异常的分类和层次结构;try…catch…finally语句块;理解Java异常捕获处理机制;熟悉常见的Java异常类;关键字throws的作用;关键字throw的作用;用户异常的创建;
技能目标 掌握异常的捕获处理机制;熟练掌握try…catch…finally语句块的使用方法;会用关键字throws将方法中的异常抛出;会用关键字throw在方法中主动抛出异常;会在程序中创建自定义用户异常;能在实际应用中灵活使用异常捕获处理机制;
教学重点 异常的捕获处理方法;异常的抛出;
教学难点 自定义异常的实现和应用;
项目描述 通过具体实例了解Java的异常处理机制;
教学方法 问题导引法:通过给学生提出实际编程中出现的问题来引入教学内容,使学生在主动分析、讨论和解决问题的过程中掌握所学知识;案例分析法:通过演示典型案例来讲解相关知识和技术的具体使用过程,使学生在具体的应用环境中加深对概念的理解;任务驱动法:通过完成项目中的各个任务逐步增强实战技能;
教学过程设计 新课导入与项目展示首先通过提问、讨论等互动的形式引入课程新知识;然后通过演示本章项目来激发学生的学习兴趣,增强学生学习的积极性、主动性;项目任务分解带领学生分析本章项目并对项目进行任务分解,分解任务如下:任务1:编写一个大小写转换的案例任务2:学习在程序中生成异常处理任务分析根据项目及任务的描述和要求,对项目的各个任务进行分析,然后总结出完成该任务所需要的知识、技能和主要操作步骤;相关知识点针对各个任务分析阶段得到的知识和技能,并结合本章知识和技能目标对相关知识点进行详细讲解和说明;任务实施该阶段以完成各个任务为目的,教师利用相关知识和技能以演示的方式为学生详细讲解每个任务的完整实现过程;同时,该阶段要求学生进行跟随练习,以加深对知识和技能的理解和掌握;技能拓展在保证学生掌握了各个任务所涉及的基本知识和技能的基础上,再通过介绍一定的附加知识并辅导学生完成指定的“技能拓展任务”,最终使学生对所学知识达到举一反三,融会贯通的学习目的;指导与评价对学生的任务实施过程进行指导,并对其中出现的问题进行总结,给出评价;
课后作业 完成课后相关习题;
课后分析 主要问题:线程状态的控制;
教 案 正 文
新课导入与项目展示
演示:给学生演示一个案例程序(该程序中对数组的访问会越界);
分析:查看程序运行后的错误提示;
讨论:程序执行是否正常结束?原因是什么?
运行各个源程序,为学生演示本章项目中各个任务的实现效果。
项目任务分解
本章项目可以划分为以下主要任务:
任务1:编写一个大小写转换的案例
任务2:学习在程序中生成异常处理
任务1:编写一个大小写转换的案例
任务分析
该程序实现的功能为将字符串中的大写字母转换为小写,小写字母转换为大写。利用大小写ASCII相差32,通过数组实现转换 。
相关知识点
异常处理的分类
异常可分为两大类:java.lang.Exception类与java.lang.Error类。这两个类均继承自java.lang.Throwable类。
习惯上将Error与Exception类统称为异常类,但这两者本质上还是不同的。Error类专门用来处理严重影响程序运行的错误,可是通常程序设计者不会设计程序代码去捕捉这种错误,其原因在于即使捕捉到它,也无法给予适当的处理,如JAVA虚拟机出错就属于一种Error。
不同于Error类,Exception类包含了一般性的异常,这些异常通常在捕捉到之后便可做妥善的处理,以确保程序继续运行。
【实例6-1:Exception_4.java】一个简单的异常
(程序代码详见教材)
异常处理机制
异常处理是由try,catch与finally等3个关键字所组成的程序块,其语法如下:
try {
要检查的程序语句;
} catch (异常类 对象名称) {
异常发生时的处理语句;
} finally{
一定会执行的程序代码;
}
异常处理过程:
try程序块若是有异常发生,程序的运行便中断,并抛出“异常类所产生的对象”。
抛出的对象如果属于catch()括号内欲捕获的异常类,catch则会捕捉此异常,然后进到catch的块里继续运行;在catch块中是对异常对象进行处理的代码。
无论try程序块是否捕捉到异常,或者捕捉到的异常是否与catch()括号里的异常相同,最后一定会运行finally块里的程序代码,finally的程序代码块运行结束后,程序再回到try-catch-finally块之后继续执行。
【实例6-2:Exception_5.class】异常处理的使用
(程序文件详见教材)
自行编写程序代码来捕捉异常最大的好处是:可以灵活操控程序的流程,且可做出最适当的处理。
任务实施
代码实现
【程序文件:Convert.java】
(程序代码详见教材)
技能拓展
【技能拓展任务】
为了处理各种异常,Java可通过继承的方式编写自己的异常类。因为所有可处理的异常类均继承自Exception类,所以自定义异常类也必须继承这个类。自己编写异常类的语法如下:
class 异常名称 extends Exception{
……
}
试编写一个自定义异常类处理某一种异常。
任务2:学习在程序中生成异常处理
任务分析
如何抛出(throw)异常,以及如何由try-catch来接收所抛出的异常。抛出异常的方式有以下两种。
(1) 程序中抛出异常。
(2) 指定方法抛出异常。
相关知识点
程序中抛出异常
在程序中抛出异常时,一定要用到throw这个关键字,其语法如下。
throw 异常类实例对象;
从上述格式中可以看到,在throw后面抛出的是一个异常类的实例对象。
指定方法抛出异常
如果方法内的程序代码可能会发生异常,且方法内又没有使用任何的代码块来捕捉这些异常,则必须在声明方法时一并指明所有可能发生的异常,以便让调用此方法的程序得以做好准备来捕捉异常。也就是说,如果方法会抛出异常,则可将处理此异常的try-catch-finally块写在调用此方法的程序代码内。
如果要由方法抛出异常,则方法必须用下面的语法来声明。
方法名称(参数…) throws 异常类1,异常类2,…
任务实施
代码实现
【程序文件:Exception_2.java】程序中抛出异常
【程序文件:Exception_3.java】指定方法抛出异常
(程序代码详见教材)
技能拓展
【技能拓展任务】
如果你知道你写的某个函数有可能抛出异常,而你又不想在这个函数中对异常进行处理,只是想把它抛出去让调用这个函数的上级调用函数进行处理,那么有两种方式可供选择:
第一种方式:直接在函数头中throws SomeException,函数体中不需要try/catch。
第二种方式:使用try/catch,在catch中进行一定的处理之后(如果有必要的话)抛出某种异常。

展开更多......

收起↑

资源预览