java认证考试第8章课件.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java认证考试第8章课件

第8章 Java异常处理 本章要点 Java异常的概念 Java异常的处理机制 异常的捕获、处理和抛出 用户自定义异常 8.1 异常的概念及分类 8.1.1 什么是异常 8.1.2 Java异常分类 8.1.1 什么是异常? Java把错误分为两类: 一类是非致命性的,通过某种修正后程序还能继续执行,这类错误称作异常: 负数开平方 读取不存在的文件 另一类是致命性的,即程序遇到了严重的不正常状态,不能简单地恢复执行,这就是错误: JVM内部错误 操作系统错误 内存溢出 二、异常的产生及处理过程 Java提供了异常处理机制,在Exception类中定义了程序产生异常的条件; 对待异常通常并不结束程序,而是转去执行某段代码处理这个异常,设法恢复程序继续执行; 当程序中发生异常时,称程序产生了一个异常事件,相应地生成异常对象; 生成的异常对象传递给Java运行时系统; 异常产生和提交的过程称为抛出异常; 异常发生时,Java运行时系统从生成对象的代码块开始,沿方法的调用栈逐层回溯,寻找相应的处理代码,并把异常对象交给该方法处理,这一过程称为捕获异常。 Java类库所有的包中都定义了异常类和错误类; Exception 类是所有异常的父类; Error 类是所有错误的父类,这两个类同时又是 Throwable 的子类。 异常和错误类的层次结构 示例8-1 public class Test { public static void main(String[ ] args) { String friends[ ] = {lisa,bily,kessy}; for(int i=0;i5;i++) { System.out.println(friends[i]); } System.out.println(\nthis is the end); } } C:\JavaExamjavac Test.java C:\JavaExamjava Test lisa bily kessy Exception in thread main java.lang.ArrayIndexOutOfBoundsException at Test.main(Test.java:5) 8.2 Java异常处理机制 8.2.1 捕获异常 8.2.2 声明抛弃异常 8.2.3 人工抛出异常 8.2.1 捕获异常 对所发生的异常进行的处理就是异常处理; 异常处理的重要性在于,程序不但能发现异常,还要捕获异常。 使用 try 语句括住可能抛出异常的代码段; 用 catch 语句指明要捕获的异常及相应的处理代码。 try { // 此处为抛出具体异常的代码 } catch(ExceptionType1 e) { // 抛出ExceptionType1异常时要执行的代码 } catch(ExceptionType2 e) { // 抛出ExceptionType2异常时要执行的代码 } catch(ExceptionTypek e) { // 抛出ExceptionTypek异常时要执行的代码 } [finally { // 必须执行的代码 }] 其中,ExceptionType1,ExceptionType2,...,ExceptionTypek是产生的异常类型。 根据发生异常所属的类,找到对应的catch语句,然后执行其后的语句序列。 不论是否捕获到异常,总要执行finally后面的语句。 public String getMessage( ) 用来得到有关异常事件的信息 public void printStatckTrace( ) 用来跟踪异常事件发生时执行堆栈的内容 public class Test { public static void main(String[ ] args) { String friends[ ]={lisa,bily,kessy}; try { for(int i=0;i5;i++) { System.out.println(friends[i]); } } catch(java.lang.ArrayIndexOutOfBoundsException e) { System.out.println(index err); } System.out.println(\nthis is the end); } } public class Te

文档评论(0)

dmdt5055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档