欢迎来到天天文库
浏览记录
ID:18047086
大小:189.00 KB
页数:19页
时间:2018-09-13
《java网络编程基础 第5章 异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA语言程序设计第五章异常处理5.1异常类的层次5.2throws抛出异常5.3throw抛出异常5.4异常处理为什么要引入异常机制当程序运行的时候,经常会由于各种不可避免的原因而产生错误。一个好的程序应该可以自己处理这些错误,而不是使整个程序全部瘫痪。Java把运行中各种可能出现的错误都看作异常,并提供了异常处理的能力。异常的几个概念异常机制的过程:抛出异常——捕捉异常1当出现了一些错误,方法都会产生一个异常对象,这个异常对象将交由运行系统来处理。此过程就称为抛出(throwing)异常。2接着,运行系统开始寻找合适的处理
2、方法,来处理这个异常。如果系统找到了一个适合的处理该异常方法,这一过程就叫捕获异常。包括:系统抛出用户自定义抛出异常类的结构ObjectThrowableErrorExceptionObject……RuntimeExceptionIOException异常类常用的方法1.publicException()2.publicException(Strings):该参数一般表示该异常对应的错误的描述通过publicStringgetMessage()即返回s3.publicStringtoString():返回描述当前异常对象信息的字
3、符串4.publicStringgetMessage():返回描述当前异常对象信息的详细信息5.publicvoidprintStackTrace():打印当前异常对象使用堆栈的轨迹Exception类的构造方法异常处理机制的语法支持异常处理由try/catch/[finally]三个语句组成的:⑴try包含可能出现异常的语句块⑵一个或多个catch块紧随try{}块,每个catch块通常处理指定类型的异常⑶finally引导块紧随catch块后,主要用于清理现场(可有可无)注意:finally块总是执行,catch块不一定执行
4、格式:try{ ......}catch(ExceptionName1e){......}catch(ExceptionName2e){ ......}finally{ ......}try-catch异常处理机制:当try体中发生了一个异常,try-catch语句就会自动在try体后面的各个catch语句中,找出与该异常类相匹配的参数,就执行包含这一参数的catch语句中的Java代码。不论try块中是否发生了异常,是否执行过catch语句,都要执行finally语句,可以说是为异常处理事件提供的一个清理机制。finally语
5、句可以说是为异常处理事件提供的一个清理机制,一般是用来关闭文件或释放其他的系统资源,作为try-catch-finally结构的一部分,可以没有finally语句,如果存在finally语句,不论try块中是否发生了异常,是否执行过catch语句,都要执行finally语句。带有finally子句的try-catch-finally语句的形式如下:try{…}//…是正常执行的代码,可能产生异常catch(异常类1e1){…}//…是异常类1的处理代码catch(异常类2e2){…}//…是异常类2的处理代码……catch(异常
6、类nen){…}//…是异常类n的处理代码finally{…}//…是执行清除工作的语句finally子句finally子句finally子句具体的执行过程如下:(1)try块中的语句没有产生异常。在这种情况下,Java首先执行try块中的所有的语句,然后执行finally子句中的代码,最后执行try…catch..finally块后面的语句;(2)try块中的语句产生了异常,而且此异常在方法内被捕获。在这种情况下,Java首先执行try块中的语句,直到产生异常处,然后跳过此try块中剩下的语句,执行捕获此异常的catch子句的
7、处理代码;然后执行finally子句中的代码;(3)如果catch子句中没有重新抛出异常,那么Java将执行try…catch…finally块后面的语句。如果在catch子句又重新抛出了异常,那么Java将这个异常抛出给方法的调用者;(4)try块中产生了异常,而此异常在方法内没有被捕获。在这种情况下,Java将执行try块中的代码直到产生异常,然后跳过try块中的代码而转去执行finally子句中的代码,最后将异常抛出给方法的调用者。finally字句throw自定义抛出语句throw异常类对象;说明:⑴throw之后必须接
8、异常类(Throwable或其子类)的实例。⑵程序会在throw语句立即终止,其后的语句不再执行⑶抛出语句应在满足一定条件时执行(如与if连用)⑷含有throw语句的方法,抛出的异常一般由调用者处理throws指定函数抛出的异常方法内的代码有可能发生异常而又不自
此文档下载收益归作者所有