《Java程序设计基础》第7章:例外处理.ppt

《Java程序设计基础》第7章:例外处理.ppt

ID:52473532

大小:771.56 KB

页数:65页

时间:2020-04-08

《Java程序设计基础》第7章:例外处理.ppt_第1页
《Java程序设计基础》第7章:例外处理.ppt_第2页
《Java程序设计基础》第7章:例外处理.ppt_第3页
《Java程序设计基础》第7章:例外处理.ppt_第4页
《Java程序设计基础》第7章:例外处理.ppt_第5页
资源描述:

《《Java程序设计基础》第7章:例外处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章例外处理学习重点:例外机制Java定义的例外类如何定义自己的例外类第7章例外处理7.1例外的概念7.1.1程序中的错误7.1.2例外的概念7.1.3例外控制机制7.2Java定义的例外类7.2.1Java中的例外类7.2.2例外类使用中的两个问题7.2.3例外在继承关系中的特殊性7.2.4例外的重新抛出7.3关于finally7.3.1finally的使用方法7.3.2finally用在哪里7.3.3finally的缺陷7.4定义自己的例外7.5练习题7.1例外的概念例外是一种对象,它是在某种运行错误时被创建的,例外控制机制是Ja

2、va用来进行例外控制的一种有效手段。7.1.1程序中的错误编译错误程序的编制存在语法错误,编译器能检查出这种错误,此时程序不能继续运行。我们在以前的程序编制和运行中可能已经遇到过编译错误的情况,可以根据系统的提示加以修改运行错误程序在执行过程中产生的错误,它很有可能产生不可意料的结果,有时可能对系统有严重的危害,如计算机的瘫痪。常见的运行错误表现为两个方面:一是对操作系统产生影响,出现死机、死循环等现象二是程序的运行结果和编程者的意图不符排除运行错误的手段:使用开发环境提供的单步运行机制和设置断点来暂停程序运行,一步步发现错误,或打印一

3、部分的中间结果用于分析,找到错误。7.1.2例外的概念例外(Exception),在其他材料上可能被译为“异常”,指程序在执行过程中出现程序本身没有预料到的情况,从而导致程序错误结束。例外机制就是用来在发生运行异常时,告诉程序如何控制自身的运行,以防止错误的进一步恶化。例外是一个对象,它在程序运行异常的时候被创建出来,并被在发生错误的位置抛出(throw),由一定的接收机制来接收并处理,这就是例外处理的一个简单过程例外的产生一定有条件的,例外条件与普通问题的区别:在普通问题的情况下,在当地可能有足够的信息,可在某种程度上解决碰到的问题。

4、在例外条件的情况下,却无法继续下去,因为当地没有提供解决问题所需的足够多的信息。此时,我们能做的惟一事情就是跳出当地环境,将那个问题委托给一个更高级的负责人。这便是出现例外时的情况。产生一个例外时,会发生几件事情首先,按照与创建Java对象一样的方法创建例外对象:使用new来创建。随后,停止当前执行路径(记住不可沿这条路径继续下去),然后从当前的环境中释放出例外对象的地址。此时,例外控制机制会接管一切,并把程序运行转移到另一个地方,这个地方可称为例外控制器,它的职责是解决这个运行问题,要么使程序简单地继续,要么结束程序并报错。产生例外的

5、一个简单示例假设有一个名为t的对象,它只是被定义,而还没有在内存中创建,这个对象名并未指向任何实际的内存地址if(t==null)thrownewNullPointerException();//“抛”出了一NullPointerException类的例外抛出这个例外后,“例外控制器”就会处理这个问题。7.1.3例外控制机制1.例外处理的语法结构对于Java的例外控制机制,Java把可能产生例外的代码段形成一个区域,可称为“警戒区”,然后紧接例外控制器。警戒区由try引导,例外控制器由catch引导,一个警戒区可以接多个catch从句,

6、以对应多种例外。结构如下:try{可能产生例外的代码段;}catch(例外类名1对象名1){处理语句组1;}catch(例外类名2对象名2){处理语句组2;}…try块一般位于一个方法的内部,它用来包含有可能抛出例外的程序段try块的格式如下:try{可能产生例外的代码段}try块中的代码段可以是几个简单语句,也可以是方法的调用,也可以是很复杂的结构,如以下的一种情况都可以:try{thrownewExceptionName();}try{functionA();//这个方法的调用可能产生例外}try{inti=0;for(i=0;i<

7、100;i++){…}…}catch块是专门用来捕获例外的地方在try块内部,不同的方法调用可能生成相同的例外,但只需要一个控制器。另外,在通常情况下,遇到例外时,程序会自行中断,而转到catch程序去继续执行,出现例外的语句后面的逻辑都将不再被执行例7.1例外处理这个程序的处理逻辑是,在初始化时,创建一个类似数组的对象vector(关于vector的使用在后面章节介绍),像其中存储0~9十个数字,然后将这些数字取出来写入一个文件OutFile.txt中,如果这个文件不存在于当前目录中,就创建一个新文件。在程序中粗体字的部分都可能出现错

8、误,因此,需要进行例外处理程序逻辑已经预计到的例外有两方面,一是数组下标出界,即ArrayIndexOutOfBoundsException二是IO错误,即IOException,并在两处catch语句中都

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

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

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