java程序设计-6-异常

java程序设计-6-异常

ID:9881064

大小:314.51 KB

页数:43页

时间:2018-05-11

java程序设计-6-异常_第1页
java程序设计-6-异常_第2页
java程序设计-6-异常_第3页
java程序设计-6-异常_第4页
java程序设计-6-异常_第5页
资源描述:

《java程序设计-6-异常》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java程序设计异常控制学习目标理解异常理解异常抛出机制应用try-catch机制处理异常了解异常丢失现象掌握方法定义中的异常声明掌握方法执行中抛出异常的机制掌握自定义异常类理解异常处理的基本规则一.异常处理基础1.什么是异常?在程序执行中,任何中断正常程序流程的异常条件就是错误或异常。例如,程序运行发生下列情况时,会出现异常:想打开的文件不存在网络连接中断接受了不符合逻辑的操作数系统资源不足当程序执行中发生了这些事情后,如何处理呢?讨论openTheFile;determineitssize;allocatethatmuchmemory;read-File;closeTheFile;以

2、常规方法处理错误:openFiles;if(theFilesOpen){determinethelengthofthefile;if(gotTheFileLength){allocatethatmuchmemory;if(gotEnoughMemory){readthefileintomemory;if(readFailed)errorCode=-1;elseerrorCode=-2;}elseerrorCode=-3;}elseerrorCode=-4;}elseerrorCode=-5;以常规方法处理错误存在的问题:观察前面的程序,大家会发现大部分精力花在出错处理上了只把能够想到的错

3、误考虑到,对以外的情况无法处理程序可读性差,大量的错误处理代码混杂在程序中出错返回信息量太少,无法更确切的了解错误状况或原因正常返回信息和错误返回信息混为一坛2、Java中的异常Java通过面向对象的方法来处理程序错误,在Java中,错误被称为例外(Exception),有时也把例外称为异常。在一个方法的运行过程中,如果发生了例外,则这个方法(或者是Java虚拟机)生成一个代表该例外的对象(包含了该例外的详细信息),并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛出(throw)一个例外。运行时系统在方法的调用栈中查找,从

4、生成例外的方法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。用例外的形式处理错误:{try{openTheFile;determineitssize;allocatethatmuchmemory;read-File;closeTheFile;}catch(fileopenFailed){dosomething;}catch(sizeDetermineFailed){dosomething;}catch(memoryAllocateFailed){dosomething;}catch(readFailed){dosomething;}catch

5、(fileCloseFailed){dosomething;}finally{dosomething;}}例外机制的优点:把错误处理代码从常规代码中分离出来按错误类型和差别分组对无法预测的错误的捕获和处理(基类)克服了传统方法的错误信息有限的问题(getMessage)把错误传播给调用堆栈一.异常处理基础(cont.)2.Java的异常分类Throwable类是Java语言中所有错误或异常的超类。Error、RuntimeException及其子类、其它异常表示一种运行时的困难,它通常由环境因素引起,可以进行处理。Throwable类的主要方法Throwable()Throwable(S

6、tringmessage)StringtoString()“classname”:“getMessage()”StringgetMessage()StringgetLocalizedMessage()voidprintStackTrace()voidprintStackTrace(PrintStreams)voidprintStackTrace(PrintWriters)ThrowablefillInStackTrace()Throwable类的子类在Java编程语言中,错误类(Error)定义被认为是不能恢复的严重错误条件(如资源耗尽等和虚拟机相关的问题)。在大多数情况下,当遇到这样的

7、错误时,建议让程序中断,应用程序一般不对此问题进行处理。异常处理允许程序捕获异常(Exception),处理它们,然后继续程序执行。它是分层把关,因此,错误情况不会介入到程序的正常流程中。Exception类的子类RuntimeException表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。比如,如果数组索引不超出数组界限,那么,ArrayIndexOutOfBoundsException异常从不会抛出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。