




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java编程基础 异常处理3 Sept. 2008 Neusoft Confidential第七章 异常处理目标:介绍Java中的异常处理机制。通过本课的学习,学员应该掌握如下知识:1)异常有关类的继承关系,2) Java异常处理机制。3)关键字finally、throws及throw教学方法:讲授ppt上机练习本章要点异常简介异常的定义异常类的继承关系检查性异常非检查性异常异常处理机制try、catch、finally语句throw、throws关键字自定义异常类Contents1234异常简介异常类的继承关系异常处理机制自定义异常异常简介异常的定义运行期间出现的错误,而不是编译时的语法错误例如,打开一个不存在的文件网络连接中断操作数组越界等异常简介异常的定义示例ArrayException.javapublic class excption_sample public static void main(String args )int i = 0;String greetings = Hello World,Hello Dingdang,Hello Kitty;while(i4)System.out.println(greetingsi);i+;数组越界异常Contents1234异常简介异常类的继承关系异常处理机制自定义异常异常的分类异常类的体系结构可处理,可不处理异常的分类异常的分类示例:CheckException.java检查性异常(checked exception)若系统运行时可能产生该类异常,则必须写出相应的处理代码,否则无法通过编译非RuntimeException异常非检查性异常(unchecked exception)若系统运行时可能产生该类异常,则不必在程序中声明对该类异常的处理,就可以编译执行RuntimeException:运行时异常异常的分类常见的异常及其分类非检查性异常说明RuntimeExceptionjava.lang包中多数异常的基类ArithmeticException算术错误,如除以 0IllegalArgumentException方法收到非法参数ArrayIndexOutOfBoundsException数组下标出界NullPointerException试图访问 null 对象引用异常的分类常见的异常及其分类检查性异常说明ClassNotFoundException无法找到想要创建对象的类文件IOExceptionI/O 异常的根类FileNotFoundException不能找到文件EOFException文件结束IllegalAccessException对类的访问被拒绝NoSuchMethodException请求的方法不存在InterruptedExceptionp p线程中断Contents1234异常简介异常类的继承关系异常处理机制自定义异常异常处理机制异常的处理过程抛出异常捕获异常处理异常在Java程序执行过程中如果出现异常事件,系统会发出异常报告,这时系统将生成一个异常类对象,异常类对象封装了异常事件的信息并将其提交给Java运行时系统JJava 中可用于处理异常的两种方式:自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。回避异常:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理。tryycatch语句trycatch语句public class excption_sample public static void main(String args )int i = 0;String greetings = Hello World,Hello Dingdang,Hello Kitty;trywhile(i4)System.out.println(greetingsi);i+;catch(ArrayIndexOutOfBoundsException e)System.out.println(“数组越界异常”);try表示可能发生异常的语句catch( )内的参数异常类对象的声明catch内的语句是对异常的处理tryycatch语句trycatch语句catch块,是用来捕获并处理try块抛出的异常的代码块。没有try块,catch块不能单独存在。我们可以有多个catch块,以捕获不同类型的异常如果程序抛出多个不同类型的异常,我们需要多个catch()语句来处理。和特殊异常类相关联的catch()块必须写在和普通异常类相关联的catch()之前。try和catch( )之间不可以添加任何代码tryycatch语句Exceptiontrycatch语句示例Exception_sample_2.javaRuntimeExceptionArraycatch (ArrayIndexOutOfBoundsException e) System.out.println(“Out of Bounds!”); catch (RuntimeException e) IndexOutOfBoundsExceptionSystem.out.println(“Runtime Exception!”);catch (Exception e) System.out.println(println(“Exception!”); if caught, do thisif caught, do thisif caught, do this异常处理机制 练习以下代码的执行结果是:A. finishedB.ExceptionC.编译错误 D. Arithmetic Exception答案 :Cfinallyy 语句finally 语句finally语句放在try catch语句后fianlly语句中的代码块不管异常是否被捕获总是要执行通常在finally语句中可以进行资源的清除操作,如:关闭打开文件、删除临时文件对应finally代码中的语句,即使try代码块和catch代码块中使用了return语句退出当前方法或break跳出某个循环,相关的finally代码块都有执行。当try或catch代码块中执行了System.exit(0)时,finally代码块中的内容不被执行finallyy 语句finally 语句示例Exception_Sample_3.javacatch (ArrayIndexOutOfBoundsException e) System.out.println(“Out of Bounds!”);return;catch (RuntimeException e) System.out.println(“Runtime Exception!”);catch (Exception e) System.out.println(println(“Exception!”); finallySystem.out.println(“program is running intofinally!”);无论是否捕获异常,系统都会执行该语句finallyy 语句 练习以下代码的执行结果是:A.B.C.D.BDBCDBDEBCDE答案 :Cthrows关键字throws关键字示例Exception_sample_4.java如果一个方法中的语句执行时可能生成某种异常,但是并不能确定如何处理,则可以在程序所在的函数声明后,使用throws关键字抛出异常class ThrowsDemopublic void proc( ) throws IOExceptionSystem.out.println(inside proc);位置:函数参数列表的后面throws关键字后面,可以跟多个异常,中间用逗号分割throws关键字抛出的异常,由调用该函数的函数处理。throw语句throw语句异常是通过关键字 throw 抛出,程序可以用throw语句引发明确的异常。如:void doA() throws Exception1 try catch(Exception1 e) throw e; catch(Exception2 e) System.out.println(出错了);throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。不能单独使用,要么和try. catch一起使用,要么和throws一起使用。throw语句的操作数一定是Throwable类类型或Throwable子类类型的一个对象Contents1234异常简介异常类的继承关系异常处理机制自定义异常自定义异常类自定义异常类如果Java提供的异常类型不能满足程序设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东华建铝业考试试题及答案
- 科学实验室培训
- 如何构建文明健康绿色环保的生活方式
- 2025年中国男士不可充电头灯行业市场全景分析及前景机遇研判报告
- 自然生命课程中班课件
- 基于化学核心素养的“教、学、评”一体化教学设计
- 客服培训周会汇报
- 成本控制与成本控制效果评估合同
- 绿色能源场地租赁合同转让与环保责任协议
- 智能化彩钢瓦施工与节能改造合同
- 医院护理人文关怀实践规范专家共识课件
- 电商平台商家入驻流程及风险控制标准
- 2025年中国国投高新产业投资集团招聘笔试参考题库含答案解析
- 《影视照明技术》课件
- 视觉监测与机器学习在地铁隧道自动化监测中的应用研究
- 金属材料科学与工艺技术发展历程
- 【MOOC】《基础工业工程》(东北大学)中国大学慕课答案
- 商场安全生产培训
- 绍兴市部分市属国企招聘笔试冲刺题2025
- 口腔科消毒流程和管理标准
- 珠宝行业顾问合作协议
评论
0/150
提交评论