《Java教材》PPT课件

《Java教材》PPT课件

ID:39357117

大小:245.25 KB

页数:59页

时间:2019-07-01

《Java教材》PPT课件_第1页
《Java教材》PPT课件_第2页
《Java教材》PPT课件_第3页
《Java教材》PPT课件_第4页
《Java教材》PPT课件_第5页
资源描述:

《《Java教材》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章异常(Exception)处理教学目的要求1.理解异常概念,理解Java中抛弃异常和声明抛弃异常的区别与联系;2.掌握Java的异常处理机制,学会如何合理应用异常处理机制;3.会使用捕获异常和声明抛弃异常的两种异常处理的方法。6.1异常的概念6.2异常处理6.3自定义异常处理类6.4应用举例本章内容1、异常的概念在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。为了加强

2、程序的鲁棒性(强壮性,robust),程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。6.1异常的概念在C语言中,通过使用if语句来判断是否出现了错误,同时,调用函数通过被调用函数的返回值感知在被调用函数中产生的错误事件并进行处理。但是,这种错误处理机制会导致不少问题,因为在很多情况下需要知道错误产生的内部细节。通常,用全局变量Errno来存储一个异常事件的类型,这容易导致误用,因为一个Errno的值有可能在被处理前被另外的错误覆盖掉。此外,即使最优美的C语言程序,为了处理异常情况,也常常求助于goto语句。没有错误处理的程序:{openTheFile;determi

3、neitssize;allocatethatmuchmemory;read-filecloseTheFile;}6.1异常的概念6.1异常的概念以常规方法处理错误:openFiles;if(theFilesOpen){determinethelengthofthefile;if(gotTheFileLength){allocatethatmuchmemory;if(gotEnoughMemory){readthefileintomemory;if(readFailed)errorCode=-1;elseerrorCode=-2;}elseerrorCode=-3;}elseer

4、rorCode=-4;}elseerrorCode=-5;以常规方法处理错误存在的问题:观察前面的程序,大家会发现大部分精力花在出错处理上了只把能够想到的错误考虑到,对以外的情况无法处理程序可读性差,大量的错误处理代码混杂在程序中出错返回信息量太少,无法更确切的了解错误状况或原因6.1异常的概念6.1异常的概念Java通过面向对象的方法来处理程序错误,在Java中,错误被称为异常(Exception)。在一个方法的运行过程中,如果发生了异常,则这个方法(或者是Java虚拟机)生成一个代表该异常的对象(包含了该异常的详细信息),并把它交给运行时系统,运行时系统寻找相应的代码来处理

5、这一异常。我们把生成异常对象并把它提交给运行时系统的过程称为抛弃(throw)一个异常。运行时系统在方法的调用栈中查找,从生成异常的方法开始进行回朔,直到找到包含相应异常处理的方法为止,这一个过程称为捕获(catch)一个异常。6.1异常的概念用异常的形式处理错误:{try{openTheFile;determineitssize;allocatethatmuchmemory;read-File;closeTheFile;}catch(fileopenFailed){dosomething;}catch(sizeDetermineFailed){dosomething;}cat

6、ch(memoryAllocateFailed){dosomething;}catch(readFailed){dosomething;}catch(fileCloseFailed){dosomething;}finally{dosomething;}}6.1异常的概念异常机制的优点:把错误处理代码从常规代码中分离出来按错误类型和差别分组(类Exception,派生)对无法预测的错误的捕获和处理(基类)克服了传统方法的错误信息有限的问题(getMessage)把错误传播给调用堆栈(比较:全局变量,返回值)method1method2method3method4探测抛出异常传递捕

7、获处理异常调用6.1异常的概念什么情况下使用异常机制?当方法因为自身无法控制的原因而不能完成其任务文件不存在,网络连接无法建立……处理在方法、类库、类中抛出的异常如FileInputStream.read产生IOException在大的项目中采用统一的方式处理错误时如编写一个文字处理器异常应该是不经常发生但却可能发生的故障一定发生的事件不应该用异常机制来处理异常处理用于使系统从故障中恢复提示信息/不产生无效的结果/释放资源不同的异常处理策略关键性应用(处理所有异常)实验软件(可以忽略许多异常

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

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

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