- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
异常(Exception)处理
2本讲内容异常机制简介try代码段抛出异常(throw语句)捕获异常(catch代码段)再抛异常(throw)finally代码段throws语句JDK中的异常自己定义的异常
31.异常机制简介在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻碍程序的正常运行。为了增加程序的强壮性,程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。
41.异常机制简介普通的错误处理方法通过被调用函数的返回值感知在被调用函数中产生的错误;通过使用if语句来判断是否出现了错误并进行处理。这种错误处理机制会导致不少问题函数的返回值一般有程序意义,需要定义用于错误处理的无效的返回值;为知道错误产生的内部细节,常用全局变量(如Errno)来存储错误的类型,这容易导致误用,因为变量的值有可能还未被处理就被另外的错误覆盖掉。
5没有错误处理的程序{openTheFile;determineitssize;allocatethatmuchmemory;read-file……closeTheFile;}
6以常规方法处理错误openFiles;if(theFilesOpen){determinethelengthofthefile;if(gotTheFileLength){allocatethatmuchmemory;if(gotEnoughMemory){readthefileintomemory;if(readFailed)errorCode=-1;}elseerrorCode=-2;}elseerrorCode=-3;}elseerrorCode=-4;……
7以常规方法处理错误存在的困难和问题写程序难大部分精力花在出错处理上了只把能够想到的错误考虑到对以外的情况无法处理程序可读性差大量的错误处理代码混杂在程序中出错返回的信息量太少无法更确切的了解错误状况或原因
8用异常机制处理错误try{openTheFile;determineitssize;allocatethatmuchmemory;read-File;closeTheFile;}catch(fileopenFailed){dosomething;}catch(sizeDetermineFailed){dosomething;}catch(memoryAllocateFailed){dosomething;}catch(readFailed){dosomething;}catch(fileCloseFailed){dosomething;}finally{dosomething;}
92.Java异常机制try{…}定义可能产生异常的代码段throwe;用于抛出一个异常catch(Etypee){…}用于捕获一个异常finally{…}用于做统一的事后处理,如释放资源throwsEtype1,Etype2……用于声明方法可能抛出的异常类型try-catch-finally
103.try代码段try代码段包含可能产生异常的代码try代码段后跟有一个或多个catch代码段每个catch代码段声明其能处理的一种特定类型的异常每个catch代码段都是一段异常处理代码try{可能产生异常的语句}//不能有其它语句分隔catch(Etypee){处理异常的语句}……finally{事后处理语句}
114.抛出异常(throw语句)任何从Throwable派生的类都可以用throw语句抛出,抛出异常用来表明程序遇到的错误无法正常执行而需要异常处理thrownewMyException(“someinfomation”);异常可以由try代码段中的语句抛出也可以从被try代码段中调用的方法中抛出异常还可能产生于数组下标越界以及Java虚拟机内部错误等Exception和Error是Throwable的直接派生类Exception程序应该处理的异常情形Error代表系统严重错误,一般程序不处理这类错误异常抛出点后的代码在抛出异常后不再执行也可以说异常的抛出终止了代码段的执行
125.
您可能关注的文档
- Java面向对象程序设计-课件 第2章 Java程序设计基础.pptx
- Java面向对象程序设计-课件 第1章 Java语言概述.pptx
- Java面向对象程序设计-课件 第3-4章 Java类和对象、继承和接口.pptx
- Java面向对象程序设计-课件 第7章 Java基本输入输出.pptx
- Java面向对象程序设计-课件 第8章 多线程.pptx
- Java面向对象程序设计-课件 第9章 Swing图形用户界面.pptx
- Java面向对象程序设计-课件 第10章 Java网络编程.pptx
- Java面向对象程序设计-课件 第11章 JDBC和MySQL数据库.pptx
- UML建模实例教程(第3版)课件 第2章 面向对象技术和建模基础.pptx
- UML建模实例教程(第3版)课件 第1章 教学案例综述.pptx
文档评论(0)