第八章.异常处理.ppt

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

第八章 异常处理 学习目标 Java异常的概念和分类 Java异常处理机制 捕获和处理异常 声明抛弃异常 人工抛出异常 用户自定义异常 断言 * 什么是异常 异常(Exception)是程序运行过程中发生的 事件,该事件可以中断程序指令的正常执 行流程。 Java异常分为两大类: 错误(Error)是指JVM系统内部错误、资源耗 尽等严重情况; 违例(Exception)则是指其他因编程错误或偶然的外在因素导致的一般性问题,例如对负数开平方根、空指针访问、试图读取不存在的文件以及网络连接中断等。 * Java异常举例(1) * public class TestException{ public static void main(String[] args) { String friends[]={Lily,“jack,“funny}; for(int i=0;i5;i++) { System.out.println(friends[i]); } System.out.println(\nthis is the end); } } class QQ{ public int account; } public class TestNullPointerException{ public static void main(String[] args) { QQ q = null; System.out.println(q.account); } } 异常分类 见书8-10 * 常见异常 RuntimeException 错误的类型转换 数组下标越界 空指针访问 IOExeption 从一个不存在的文件中读取数据 越过文件结尾继续读取 连接一个不存在的URL * 异常处理机制(1) Java异常处理宗旨: 1. 返回到一个安全和已知的状态; 2. 能够使用户执行其他的命令; 3. 如果可能,则保存所有的工作; 4. 如果有必要,可以退出以避免造成进一步的危害。 处理机制: 1. Java程序执行过程中如出现异常,系统会监测到并自动生成一个相应的异常类对象,然后再将它交给运行时系统; 2. 运行时系统再寻找相应的代码来处理这一异常。如果Java运行时系统找不到可以处理异常的代码,则运行时系统将终止,相应的Java程序也将退出。 3. 程序员通常对错误(Error)无能为力,因而一般只处理违例(Exception)。 * 异常处理机制(2) * try{ ... //可能产生异常的代码 }catch( ExceptionName1 e ){ ... //当产生ExceptionName1型异常时的处置措施 }catch( ExceptionName2 e ){ ... //当产生ExceptionName2型异常时的处置措施 } [ finally{ ... //无条件执行的语句 } ] public class Test{ public static void main(String[] args) { String friends[]={“Lily,“funny,“longger}; try { for(int i=0;i5;i++) { System.out.println(friends[i]); } } catch(ArrayIndexOutOfBoundsException e) { System.out.println(index err); } System.out.println(\nthis is the end); } } 使用finally块 * public class Test{ public static void main(String[] args) { String friends[]={Lily,“jeck,“anny}; try { for(int i=0;i5;i++) { System.out.println(friends[i]); } } catch(ArrayIndexOutOfBoundsException e) { System.out.println(index err); return; }finally{ System.out.println(in finally block!); } System.out.println(this is the end); } } 追踪运行栈信息 * public class A{ public void work(int[] a){ String s = this.contain(a,3); System.out.println(Result: + s); } public String contain(int[] sou

文档评论(0)

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

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

1亿VIP精品文档

相关文档