网站大量收购独家精品文档,联系QQ:2885784924

新Java面向对象程序设计 教学课件 梁燕来 程裕强 第6章 异常处理.ppt

新Java面向对象程序设计 教学课件 梁燕来 程裕强 第6章 异常处理.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 异常处理 主讲人:程裕强 主要内容 理解程序异常 掌握异常类继承体系关系 掌握try-catch结构 熟悉try-catch-finally结构 掌握异常抛出机制 理解异常处理的优缺点 了解断言 6.1 引例 Java编译器可以帮我们检查出程序中的语法错误,比如变量未定义、语句后缺少分号等语法错误。 在程序运行时,可能由于程序内部或外部原因出现一些意外的情况,称作异常。比如下面程序,编译时通过,只有运行时才会暴露出错误。 public class A{ static A getInstance(){ return null; //返回一个空对象 } } public class PrimerTest1{ public static void main(String[] args) { A a=A.getInstance(); a.toString(); //运行报错 } } 主程序PrimerTest1中通过A的静态方法getInstance取得一个对象,然后调用该对象的toStrng方法。主程序编译时通过,执行时报错。 对于这个简单的异常,可以在程序中添加条件判决即可解决。 对于一些更为隐蔽的运行时错误是很难发现的,即使发现了,我们在短时间内也难以判定错误的根源,也就是难以使用条件判定分离出预知的错误。 6.2 异常类 Java提供了所有异常的父类Throwable,只有Throwable的子孙类才是异常类。 Throwable有3个重要的子孙类:Exception、Error、RuntimeExcption。 Error类表示错误,比如内存溢出,程序无法恢复不需要程序处理。 Exception表示程序可能恢复的异常,其子类名均以Exception做后缀。 RuntimeExcption是运行时异常,是由于程序自身的问题引起的,比如数组下标越界。 通过异常类对象,可以获取程序发生异常的信息,以便对异常进行处理。 Exception类提供了2个常用的方法:getMessage()返回该异常的详细描述字符串; printStackTrace()输出该异常的跟踪栈信息。 还可以调用Exception类继承的toString()方法,输出异常类信息。 6.3异常处理机制 对出现异常的代码进行处理称为异常处理。异常处理的能力,也是判定一门编程语言程序的重要标准。异常处理机制可以让程序具有更好的容错性,程序更加健壮。 6.3.1 try-catch 常用的异常处理语句try-catch try{ 可能会出现异常的语句; }catch(Exception e){//捕捉到异常对象e 处理异常; } 例1:通过异常处理机制来改进“引例”。 public class PrimerTest3{ public static void main(String[] args){ try{ A a=A.getInstance(); a.toString(); }catch(Exception e){ System.out.println(e); System.out.println(e.getMessage()); e.printStackTrace(); } } } 6.3.2 try-catch-finally 捕捉异常的完全格式如下: try{ 可能会出现异常的语句; }catch(Exception e){ 处理异常; }finally{ 异常发生,方法返回之前,总是要执行的代码; } 一个try-catch-finally结构,只要try块开始执行了,finally块里面的代码保证执行一次并且只执行一次。 例2:演示try-catch-finally语句进行异常处理。 public class TestTry{ public static void main(String[] args) { try{ System.out.println(flag1); int i=1/0; System.out.println(flag2); }catch(Exception e){ //捕获异常 System.out.println(flag3); System.out.println(e); }finally{ System.out.println(flag4); } } } 由运行结果可知:

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档