《Java程序设计与应用开发》第5章异常处理.ppt

《Java程序设计与应用开发》第5章异常处理.ppt

ID:49263765

大小:116.00 KB

页数:35页

时间:2020-02-02

《Java程序设计与应用开发》第5章异常处理.ppt_第1页
《Java程序设计与应用开发》第5章异常处理.ppt_第2页
《Java程序设计与应用开发》第5章异常处理.ppt_第3页
《Java程序设计与应用开发》第5章异常处理.ppt_第4页
《Java程序设计与应用开发》第5章异常处理.ppt_第5页
资源描述:

《《Java程序设计与应用开发》第5章异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章异常处理我们都希望自己的程序不包含任何错误,也都希望我们的程序要访问的资源总是可用。然而现实的情况可能和所期望的恰恰相反:程序中包含有“bug”,在运行时会出现各种错误;要访问的资源不存在或是存在但不能访问。Java提供了强有力的异常处理机制来应对可能出现的各种异常情况。本章讲解Java异常处理机制及异常抛出和捕获的策略。5.1概述期的编程语言(比如C语言)没有异常(Exception)处理机制,通常是遇到错误返回一个特殊的值或设定一个标志,并以此判断是不是有错误产生。随着系统规模的不断扩大,这种错误处理已经成为创建大型可维护程序的障碍。Java运用面向对象的方法进行异常处理,把各

2、种不同的异常进行分类,并提供了良好的接口。这种机制为复杂程序提供了强有力的控制方式。同时这些异常代码与“常规”代码的分离,增强了程序的可读性,编写程序时也显得更为灵活。要写出友好,健壮的程序,灵活地运用Java程序语言的异常处理机制,须从以下几个角度来认识异常:抛出异常、捕获异常以及处理异常。5.2异常处理5.2.1遭遇异常5.2.2捕获异常5.2.3声明方法抛出异常5.2.1遭遇异常importjava.io.*;importjava.util.*;publicclassReadFile{publicstaticvoidprintFile(StringfileName){//try//

3、{Vectorv=newVector();BufferedReaderin;Stringline;in=newBufferedReader(newFileReader(fileName));line=in.readLine();while(line!=null){v.addElement(line);line=in.readLine();}in.close();for(inti=0;i

4、"FileNotFound"+e.getMessage());//}catch(IOExceptione){//System.out.println("IOException"+e.getMessage());//}}publicstaticvoidmain(String[]args){ReadFile.printFile("ReadFile.java");}}编译该程序,四条红色标注的语句会报告异常未被捕获或是抛出的错误。遭遇异常-续首先,BufferedReader的构建器会出现一个FileNotFoundException异常,表示给定的文件不存在。其次,两条in.readLine

5、()语句和in.close()语句均会出现IOException异常。最后,v.elementAt(i)也可能出现ArrayIndexOutOfBoundsException异常,表示数组越界。例如当i为负值或是大于v.size()-1时。观察编译出错信息,可以发现,编译器指出:FileNotFoundException和IOException必须被捕获(catch)或声明(declare)。但是并没有对v.elementAt(i)可能出现的ArrayIndexOutOfBoundsException报错。这是因为,在Java中,异常分为检查的(Checked)和未检查的(Uncheck

6、ed)两种类型。对于Checked类型的异常,编译器要求在方法中必须捕获之或是声明之;而对于Unchecked类型的异常,编译器并不强制方法捕获或是声明。更多内容,见5.3小节。由于FileNotFoundException和IOException均属于Checked类型的异常,因而编译器会强制要求捕获之或是声明之;而ArrayIndexOutOfBoundsException属于Unchecked类型的异常,因而编译器并不会强制要求捕获该异常或是声明该异常。5.2.2捕获异常为了能使得上例编译通过,可以采用下述两种方法之一:(1)捕获printFile方法中含有的Checked类型的异

7、常,然后对捕获的异常进行处理。(2)声明printFile方法抛出其中所含有的Checked类型的异常。通常使用下面的代码框架来进行异常的捕获与处理:try{...//可能出现异常的代码}catch(...){//捕获异常...//异常处理代码}捕获异常-续try{Vectorv=newVector();BufferedReaderin;Stringline;in=newBufferedReader(newFileReader(fi

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

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

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