[工学]异常处理.ppt

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

异常处理 断言及程序的测试 垃圾回收 本章内容 Java当中的异常处理机制 程序运行过程中发生,引起程序运行的中断;程序设计时,必须考虑到可能发生的异常的事件并做出相应的处理,增加程序强壮性。 Java语言:生成代表异常的对象,交给运行时系统(抛出throw);运行时系统找到相应的异常处理方法(捕捉catch)。结构与程序的跳转很相似,但实际上要复杂的多。 Java异常 Java程序运行过程中所发生的异常事件可分为两类: 错误(Error):JVM系统内部错误、资源耗尽等严重情况,由系统保留 违例(Exception): 其它因编程错误或偶然的外在因素导致的一般性问题,例如: 对负数开平方根 试图读取不存在的文件 网络连接中断 常见异常 RuntimeException 除0:ArithmeticException 数组下标越界ArrayIndexoutofBoundsException 空指针访问NullPointerException: Date d ; System.out.println(d.toString()); IOExeption 从一个不存在的文件中读取数据 越过文件结尾继续读取 连接一个不存在的URL Java当中的异常处理机制 异常是一个对象,必须是某个异常类的实例,这个异常必须是已经定义好的。 Java类库中已经存在了许多异常类,每种异常类对应着某一种或者某一类错误,类中包含着错误的相关信息和处理方法。 如果程序发生错误的当前结构中没有处理此异常的机制,那么它将移交给外层结构处理,如果还不行,就继续上交,直到操作系统,操作系统就会终止程序的运行。 Try与catch try 捕获违例的第一步是用try{…}语句块选定捕获违例的范围。 catch 在catch语句块中是对违例对象进行处理的代码 每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的违例对象。与其它对象一样,可以访问一个违例对象的成员变量或调用它的方法。 getMessage( ) 方法,用来得到有关异常事件的信息 printStackTrace( )用来跟踪异常事件发生时执行堆栈的内容。 Java异常抛出举例(1) 1 class MyClass { 2 public static void main(String[] args){ 3 crunch(null); 4 } 5 static void crunch(int[] a) { 6 mash(a); 7 } 8 static void mash(int[] b) { 9 System.out.println(b[0]); 10 } 11 } Java异常抛出举例(2) 异常处理举例(1) public class Test6_2{ 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); } } 异常处理举例(2) Java异常类层次 Throwable类 Throwable类的构造方法public Throwable()和public Throwable(String message) 对于参数String message信息可以通过getMessage()返回,如果使用无参数的构造方法,getMessage()得到的是null toString()用来返回例外所属的类名以及描述信息,其格式为 classname: message 如果getMessage得到的值是空,那么toString()就只返回例外类名。 printStackTrace()是在标准输出上打印出堆栈使用轨迹,即某方法在产生异常时已经使用了哪些类与方法。 举例: ThrowableMethods.jav

文档评论(0)

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

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

1亿VIP精品文档

相关文档