第9章++Java高级编程.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习导读 本章将介绍Java语言中的一些高级特性:异常处理、多线程机制、流式IO以及网络通信,其中每个部分都能扩展成一个专题。读者在本章学习到的只是其中很小的一部分,但是能够从中了解一些基本概念和基本操作,为今后的深入学习打下基础。异常处理提供对错误的捕捉和处理机制;多线程机制使得程序的多个子任务能够“同时”执行;流式IO提供了对输入输出的读写机制;网络通信特性允许Java程序通过Socket实现底层通信,并利用Java提供的扩展组件实现高层服务。 第九章 Java高级编程 教学重点与难点: 异常处理、多线程机制、流式IO以及网络通信的基本概念和模型 异常的捕获和处理 多线程的实现及Runnable接口的应用 流式输入输出的操作、文件读写及随机访问 基于Socket的面向连接的网络底层通信及高层服务 9.1 异常处理 在Java中,提供了错误捕捉和处理机制,即异常处理机制。在程序运行过程中发生错误时,Java允许其不按照正常路径完成任务,由发现错误的方法抛出封装了错误信息的对象(异常)到其调用程序,发出已经发生问题的信号,然后立即退出;而且,程序并不在调用该方法的代码处继续执行,而是由异常处理机制开始搜索一个能够处理这种特定错误情况的异常处理器。 9.1.1 异常分类 Throwable类派生出两个分支:Error和Exception。 Error类被认为是不能恢复的严重错误,如系统内部错误和资源耗尽错误等。不应该抛出这种类型的错误,而是让程序中断。 Exception类定义可能遇到的轻微错误,分为派生自RuntimeException类的异常和非派生自RuntimeException类的异常。这时,可以写代码来处理异常并继续程序执行,而不是让程序中断。 区分RuntimeException和非RuntimeException的规则是:编程错误导致RuntimeException,如被零除、数组越界访问、空指针访问等;而其他异常则是由于意外情况而发生的,如试图读取文件结尾以后的数据、试图打开错误的URL、试图根据并不代表已存在类的字符串来查找Class对象等。 9.1.2 方法如何抛出异常 //本方法从长度为2048字节的某文件中读入数据到字符串对象中。 String readFile(BufferedReader in) throws EOFException { ... while(...) {//ch为当前读入的字符。 if(ch == -1) //文件尾; { //当n<len,意味着还未将文件全部读入字符串,就遇到文件结束标志,视为异常情况。 if(n < len) throw new EOFException(); //或者采用下面的方法: // if(n < len) // { EOFException readeof= new EOFException(); // throw readeof; } } ... } return s;} 9.1.3捕获及处理异常 try { 可能产生异常的代码 //try块 } catch(ExceptionType1 e1) //要捕获的异常类型1 { 对此异常的处理 //异常处理1 } catch(ExceptionType2 e2) //要捕获的异常类型2 { 对此异常的处理 //异常处理2 } catch(ExceptionType3 e3) //要捕获的异常类型3 { 对此异常的处理 //异常处理3 } 【例9.1】 捕获并处理异常 程序代码见ExceptionExample .java。运行结果如下: Caught the Exception!!! e.getMessage(): I throw an Exception!!! 【例9.2】重新抛出异常 程序代码见RethrowException .java。运行结果如下: the original exception in f() Caught in main Exception in thread "main" java.lang.Exception: thrown from f() at RethrowException.f(RethrowException.java:8) at RethrowException.main(RethrowException.java:14) 9.1.4创建自己的异常类 我们可以创建自己的异常

文档评论(0)

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

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

1亿VIP精品文档

相关文档