chap05 异常处理new

chap05 异常处理new

ID:34390235

大小:288.74 KB

页数:19页

时间:2019-03-05

chap05 异常处理new_第1页
chap05 异常处理new_第2页
chap05 异常处理new_第3页
chap05 异常处理new_第4页
chap05 异常处理new_第5页
资源描述:

《chap05 异常处理new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章异常处理Java程序设计与应用开发(第2版)本节主要内容概述异常处理异常的抛出策略异常的捕获策略Java程序设计与应用开发(第2版)5.1概述•Java则在C++基础上建立了全新的异常处理机制。•Java运用面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。•异常是用来应对程序中可能发生的各种错误的一种强大的处理机制。•要写出友好、健壮的程序,灵活地运用Java程序语言的异常处理机制,须从以下几个方面来认识异常:抛出异常、捕获异常以及处理异常。Java程序设计与应用开发(第2版)5.

2、2异常处理5.2.1遭遇异常在Java中,异常分为检查的(Checked)和未检查的(Unchecked)两种类型。对于Checked类型的异常,编译器要求在方法中必须捕获之或是声明之;而对于Unchecked类型的异常,编译器并不强制方法捕获或是声明。由于FileNotFoundException和IOException均属于Checked类型的异常,因而编译器会强制要求捕获之或是声明之;而ArrayIndexOutOfBoundsException属于Unchecked类型的异常,因而编译器并不会强制要求捕获该异常或

3、是声明该异常。Java程序设计与应用开发(第2版)5.2.2捕获并处理异常通常使用下面的代码框架来进行异常的捕获与处理:try{...//可能出现异常的代码}catch(...){//捕获异常...//异常处理代码}对于可能出现异常的代码,使用一个try块将其包括起来。try块中可以包含一条或是多条Java语句。Java程序设计与应用开发(第2版)一个try块可以有多个对应的catch块,用以捕获不同类型的异常:try{...}catch(ExceptionType1name1){...}catch(ExceptionT

4、ype2name2){...}catch子句的一般形式为:catch(ExceptionTypeexceptionName){...}catch子句中包含有唯一的参数:ExceptionTypeexceptionNameExceptionType指明了catch语句所能捕获的异常类型,ExceptionType必须是一个继承了java.lang.Throwable的类。当catch语句捕获一个异常时,将传递一个ExceptionType类型的对象进入catch块,该对象中包含了异常的全部信息,可以使用该对象中相应的方法获

5、取异常信息Java程序设计与应用开发(第2版)在catch块后,还可以跟随finally块:...try{...}catch(...){...}finally{...}...无论try块中是否出现异常,finally块中的语句总是得到执行。Java程序设计与应用开发(第2版)•Java中的部分异常Java程序设计与应用开发(第2版)Java的几个特别重要的异常类Throwable:所有异常的基类。Error:Throwable的子类,代表一个严重的问题。例如:OutOfMemoryError代表JVM的堆空间耗尽。U

6、nknownError代表Java虚拟机中出现一个未知但严重的异常。Exception:Throwable的另一个子类,代表一个普通的问题。例如:FileNotFoundException代表文件未找到。SQLException代表有关JDBC的异常。RuntimeException:Exception类的一个特殊的子类,可能在任何正常的操作中被抛出。例如:NullPointerException表示试图引用null对象的方法或属性。IndexOutOfBoundException表示数组越界的异常。在C语言中没有这

7、样的特性,往往会造成严重且难以发现的程序漏洞。Java程序设计与应用开发(第2版)5.2.3声明方法抛出异常•然而,在有些情况下,仅根据当前的条件还无法处理出现的异常,这时候,就应该使用这样的方法:声明该方法会抛出异常;该方法的调用者来负责捕获异常或是继续抛出异常。•声明一个方法抛出异常,使用关键字throws,throws紧跟在方法签名之后。可以同时声明方法抛出多个异常,多个异常之间使用逗号隔开。•throws关键字用来声明方法抛出异常。在方法体中,如果需要显式抛出一个异常,使用关键字throw:throwaThrow

8、ableObject;aThrowableObject必须是一个“可抛出”的对象,也就是必须是由Throwable或是其子类所生成的对象。Java程序设计与应用开发(第2版)5.3异常的抛出策略•当程序抛出一个异常的时候,必须确保所有的异常“接收者”都收到有意义的信息。也就是说,必须选择合适的异常类型,以便方法的调用

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

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

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