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

第8章 Java高级编程剖析.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 8 章 Java 高级编程 主要内容: 异常处理机制 多线程编程 IO 编程 网络编程 重点: IO 编程与网络编程 8.1 异常处理 Java提供一套完善的异常处理机制,运行它可以提供程序的健壮性。健壮的程序能在遇到异常情况下采取解决措施,而不健壮的程序则在此时会终止,或返回错误的结果,而且难以检测出异常的原因。 异常类 异常类结构 所有异常类的祖先是java.lang.Throwable类。Exception 类和 Error 类都是 Throwable 类的子类。 Error类:表示仅靠程序本身无法恢复的错误,由JVM抛出并处理。 Exception类:表示程序本身可以处理的异常。一般我们讲的异常就是指这一类。 Exception类分为运行时异常和受检查异常。 运行时异常:RuntimeException类及其子类。特点:Java编译器不检查。如:除数为0时出现的ArithmeticException。见下表 受检查异常:除运行时异常以外所有异常。特点: Java编译器会检查。 运行异常 系统定义的运行异常通常对应于系统运行错误,如表 8-1 所示。 表 8-1 系统定义的运行异常 系统定义的运行异常 对应的运行错误 ClassNotFoundException 未找到欲装载的类 ArrayIndexOutOfBoundsException 数组越界使用 FileNotFoundException 未找到指定的文件或目录 IOException 输入输出错误 NullPointerException 引用尚未创建的对象 ArithmeticException 算术错误,如除数为0 InterruptedException 线程在睡眠、等待等被其他线程打断 UnknownHostException 无法确定主机的 IP 地址 SecurityException 安全性错误,如 Applet 欲读写文件 MalfoRMEDurlException URL 格式错误 3. 用户自定义的异常 作用:用来处理用户程序中特定的逻辑运行错误。 优点:以程序内建的方式统一处理错误(对照老方法); 《例》 为“从空队列出队”的逻辑错误定义异常: class EmptyQueueException extends Exception { Queue sourceQueue; public EmptyQueueException (Queue q) { super(“队列已空” ); sourceQueue = q ; } public String toString ( ) { return ( “队列”+sourceQueue.toString ( ) + “已空,出队引发异常”; } } 抛出异常 系统自动抛出的异常(系统自己定义的) 例8-1:TestSystemException.java 语句抛出的异常 int dequeue() throws EmptyQueueException {…… if (isEmpty()) throw (new EmptyQueueException(this)); else{……} } 见例子8-2:TestQueueException.java 异常机制概述 把各种不同的异常情况进行分类,这种类称为异常类,可以发挥类的可扩展性和重用性的优势。 异常流程的代码和正常流程的代码分离,提高了代码的可读性,简化了程序的结构。 可以灵活处理异常。有能力处理的就捕获并处理它,否则抛出异常,由方法调用者来处理。 异常处理机制 try…catch语句:捕获异常 finally语句:任何情况下都必须执行的代码 throws子句:声明可能会出现的异常:如果一个方法可能会出现异常,则方法声明处用该子句声明抛出异常。如:public void run() throws Exception throw语句:抛出异常,如: public void run() throws Exception{ if(车子无法刹车) throw new Exception(“车子无法刹车”); } 多异常的处理 一个try块可能产生多种不同的异常,如需要以不同的方法来处理,就需要多异常处理机制。 特点:一个try块后跟多个catch块,每个catch块的参数不同。 流程:当try块抛出异常时,程序转向第一个catch块,看

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档