《JAVA程序设计》授课教案.doc_第1页
《JAVA程序设计》授课教案.doc_第2页
《JAVA程序设计》授课教案.doc_第3页
《JAVA程序设计》授课教案.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计 授 课 教 案 授课题目异常处理学时安排4课程设计主要介绍单元设计的要求教学目的1、 Jav a异常处理机制2、 讲授异常捕捉、异常处理、清理异常的方法教学要求1、 理解异常的概念2、 了解异常类及其层次关系3、 熟练掌握常用的标准Java异常类4、 熟练掌握抛出异常、声明抛出异常、定义异常的方法5、 创建自定义的异常类型教学重点1、Jav a异常处理机制2、掌握抛出异常、声明抛出异常、定义异常的方法教学难点1、Jav a异常处理机制2、掌握抛出异常、声明抛出异常、定义异常的方法授课类型理论课授课场地教 室教学方式讲授、演示、提问、讨论教辅设备投影仪教学内容1、 引入异常的概念 通过ExceptionExam.java程序演示数学计算中除数为了0时产生的错误信息,引入抛出异常的概念。 我们都希望自己的程序不包含任何错误,也都希望我们的程序要访问的资源总是可用。然而现实的情况可能和所期望的恰恰相反:程序中包含有“bug”,在运行时会出现各种错误;要访问的资源不存在或是存在但不能访问。Java提供了强有力的异常处理机制来应对可能出现的各种异常情况。本章重点讲解Java异常处理机制及如何处理抛出异常、声明抛出异常、定义异常的方法。2、 通过提问(讨论式、启发式提问)和比较归纳,处理异常的必要性和重要性 作为一名合格优秀的程序员,必须认识到在程序中处理异常的重要性。 Java运用面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。这种机制为复杂程序提供了强有力的控制方式。同时这些异常代码与“常规”代码的分离,增强了程序的可读性,编写程序时也显得更为灵活。那么,我们采用错误代码和异常处理相结合的方式到底有哪些优越性呢?1) 把错误代码与常规代码分开2) 可以在catch中传播错误信息3) 可以对错误类型分组4) 方便定位错误,维护 要写出友好,健壮的程序,灵活地运用Java程序语言的异常处理机制,须从以下几个角度来认识异常:异常类及分类、捕获异常、处理异常及抛出异常。3、 异常类及分类 在Java中,异常也是被视为对象,所有的异常都继承于Throwable类,Throwable类中有一个String类型的变量,它保存的是异常对象的一些说明信息,该信息可以用来识别所抛出的异常。 Throwable类分别有两个子类,分别是:Exception类和Error类,但对于软件开发者来说,大多数遇到的异常对象都属于Exception类及其相应的子类,这是因为Exception类型的异常是由编写的代码所引起的,而Error类型的异常则是由Java虚拟机自身或者虚拟机与代码之间的连接引起的。以下给出一个简化的Java异常继承关系图。ErrorThrowableExceptionIOExceptionRuntimeException用户自定义异常 Exception类的子类的分类:Exception类的子类可以分为两种类弄,即checked和unchecked 。其中unchecked类型的异常是指那些没有被检查出来的异常,它的抛出一般是由代码编写者的疏忽大意引起的。checked类型的异常指的是那些代码编写没有问题,但是在代码的实际运行期间,由于代码所处环境的影响而抛出的异常。4、 学习异常处理关键字:try、catch、finally、 throws 和throw 。 1)、通过对比分析程序ExceptionExam.java和ExceptionExam1.java,引入trycatch语句,并阐述Java中异常的处理机制。 2)、通过走读ExceptionExam1.java中的代码,引导学生了解trycatch语句的执行步骤。 3)、如果程序出现非常严重的异常而导致程序完全退出,势必会给系统带来一些不确定的因素,Java提供了finally语句,不管抛出异常与否,都必须执行finally语句块,通常在finally语句中可以进行资源的清除工作,如关闭打开的文件等。 分析程序ExceptionUse3.java 代码,引出throws和throw异常关键字,并阐述其用法: 4)、throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。 5)、throw总是出现在函数体中,异常并不是系统出错产生,而是人为地抛出的异常。程序会在throw语句后立即终止执行。5、 创建自定义的异常类型 当程序员为提供一些特定的功能用Java类时,往往需要保证类之间有良好的关系,而且类之间的接口易于理解和实现。对于异常类一样,可以定义新的异常类。创建自己的异常类更便于维护和管理。通常采用Exception作为异常类的父类。 通过再次分析程序ExceptionUse3.java 代码,分析自定义异常抛出处理过程。6、 知识点讲解及程序代码分析 1)、ExceptionExam.java 源代码public class ExceptionExam public static void main(String args) int i=0; i=3/i; 2)、ExceptionExam1.java 源代码public class ExceptionExam1 public static void main(String args ) int i, a; try / 监视一代码块 i=0; a=4/i; return; catch (ArithmeticException e) /捕获一个被零除异常 System.out.println(被零除); 3)、ExceptionUse3.java 源代码public class ExceptionUse3 public static void main(String args) try testRuntime(); catch(MyArithException me) System.out.println(Please Handle the runtime exception here.); static void testRuntime( ) throws MyArithException try /此处刻意产生一个除零错的异常 Int i,j; j = 0; i = 2/j; catch(ArithmeticException ae) /在这里捕获运行时刻异常ArithmeticException /不作任何处理,只是重新抛出一个新异常MyArithException /因为运行时刻异常不在方法声明的throws子句中声明 throw new MyArithException(ae.getMessage(); /创建异常类,处理自定义异常class MyArithException extends Exception MyArithException( ) MyArithException(String msg) super(msg); 讨论: 1、 如何处理同一个程序中出现的多个不同类型的异常?思考: 1、在一个Java程序中,如果调用了一个根本不存在的方法结果会怎样? 2、在Java程序中调用带参数的方法时带错了参数的数据类型,又会有什么样的结果发生?作业:1、阐述Java异常处理机制,并描述异常匹配过程。 2、编写一个程序,从命令行输入三个整数,要求判断是否能够组成一个三角形,当命令行参数为小数时,要求能够处理其异常。参考资料(含参考书、文献等): 1、Java程序设计 编著:袁兆山, 中国铁道出版社 2、Java核心技术第七版 卷I 编著:Cay S.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论