Java网络编程基础 第5章 异常处理.ppt
《Java网络编程基础 第5章 异常处理.ppt》由会员分享,可在线阅读,更多相关《Java网络编程基础 第5章 异常处理.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA语言程序设计第五章第五章 异常处理异常处理 5.1 5.1 异常类的层次异常类的层次 5.2 5.2 throwsthrows抛出异常抛出异常 5.3 5.3 throwthrow抛抛出异常出异常 5.4 5.4 异常处理异常处理 为什么要引入异常机制为什么要引入异常机制当程序运行的时候,经常会由于各种不当程序运行的时候,经常会由于各种不可避免的原因而产生错误。可避免的原因而产生错误。一个好的程序应该可以自己处理这些错一个好的程序应该可以自己处理这些错误,而不是使整个程序全部瘫痪。误,而不是使整个程序全部瘫痪。JavaJava把运行中各种可能出现的错误都看把运行中各种可能出现的错误都看
2、作异常,并提供了异常处理的能力。作异常,并提供了异常处理的能力。异常的几个概念异常的几个概念异常机制的过程:抛出异常异常机制的过程:抛出异常捕捉异常捕捉异常 1 1 当出现了一些错误,方法都会产生一个当出现了一些错误,方法都会产生一个异异常对象常对象,这个异常对象将交由运行系统来处理。,这个异常对象将交由运行系统来处理。此过程就称为此过程就称为抛出抛出(throwing)throwing)异常异常。2 2 接着,运行系统开始寻找合适的处理方法,接着,运行系统开始寻找合适的处理方法,来处理这个异常。如果系统找到了一个适合的来处理这个异常。如果系统找到了一个适合的处理该异常方法,这一过程就叫处理该
3、异常方法,这一过程就叫捕获异常捕获异常。包括:系统抛出包括:系统抛出 用户自定义抛出用户自定义抛出异常类的结构异常类的结构ObjectThrowableErrorExceptionObjectRuntimeExceptionIOException异常类常用的方法异常类常用的方法1.public Exception()2.public Exception(String s):该参数一般表示该异常对应的错误的描述该参数一般表示该异常对应的错误的描述通过通过public String getMessage()即返回即返回s3.public String toString():返回描述当前异常对象信息
4、的字符串返回描述当前异常对象信息的字符串4.public String getMessage():返回描述当前异常对象信息的详细信息返回描述当前异常对象信息的详细信息5.public void printStackTrace():打印当前异常对象使用堆栈的轨迹打印当前异常对象使用堆栈的轨迹Exception类的构造方法异常处理机制的语法支持异常处理机制的语法支持异常处理由异常处理由try/catch/finally三个语句组成的:三个语句组成的:trytry包含可能出现异常的语句块包含可能出现异常的语句块 一个或多个一个或多个catchcatch块紧随块紧随trytry块,每个块,每个catc
5、hcatch块通常处理指定类块通常处理指定类型的异常型的异常 finallyfinally引导块紧随引导块紧随catchcatch块后,主要用于清理现场(可有可无)块后,主要用于清理现场(可有可无)注意:注意:finallyfinally块总是执行,块总是执行,catchcatch块不一定执行块不一定执行格式:格式:trytry.catch(ExceptionName1 e)catch(ExceptionName1 e).catch(ExceptionName2 e)catch(ExceptionName2 e).finallyfinally.try-catch异常处理机制:异常处理机制:当当
6、try体中发生了一个异常,体中发生了一个异常,try-catch语句就会自动在语句就会自动在try体后面的各个体后面的各个catch语句中,找出与该异常类相匹配语句中,找出与该异常类相匹配的参数,就执行包含这一参数的的参数,就执行包含这一参数的catch语句中的语句中的Java代代码。码。不论不论try块中是否发生了异常,是否执行过块中是否发生了异常,是否执行过catch语句,语句,都要执行都要执行finally语句,可以说是为异常处理事件提供的语句,可以说是为异常处理事件提供的一个清理机制。一个清理机制。finallyfinally语句可以说是为异常处理事件提供的一个清理语句可以说是为异常处
7、理事件提供的一个清理机制,一般是用来关闭文件或释放其他的系统资源,作为机制,一般是用来关闭文件或释放其他的系统资源,作为try-catch-finallytry-catch-finally结构的一部分,可以没有结构的一部分,可以没有finallyfinally语句,如语句,如果存在果存在finallyfinally语句,语句,不论不论trytry块中是否发生了异常,是否执块中是否发生了异常,是否执行过行过catchcatch语句,都要执行语句,都要执行finallyfinally语句。语句。带有带有finally子句的子句的try-catch-finallytry-catch-finally语
8、句的形式如下:语句的形式如下:trytry /是正常执行的代码是正常执行的代码,可能产生异常可能产生异常 catchcatch(异常类异常类1 1 e1)e1)/是异常类是异常类1 1的处理代码的处理代码 catchcatch(异常类异常类2 2 e2)e2)/是异常类是异常类2 2的处理代码的处理代码 catchcatch(异常类异常类n en)n en)/是异常类是异常类n n的处理代码的处理代码 finallyfinally /是是执行清除工作的语句执行清除工作的语句finally子句子句finally子句子句finallyfinally子句具体的执行过程如下:子句具体的执行过程如下:(
9、1)(1)trytry块中的语句没有产生异常。块中的语句没有产生异常。在这种情况下,在这种情况下,JavaJava首先首先执行执行trytry块中的所有的语句,然后执行块中的所有的语句,然后执行finallyfinally子句中的代码,子句中的代码,最后执行最后执行trycatch.finallytrycatch.finally块后面的语句;块后面的语句;(2)(2)trytry块中的语句产生了异常,而且此异常在方法内被捕获。块中的语句产生了异常,而且此异常在方法内被捕获。在这种情况下,在这种情况下,JavaJava首先执行首先执行trytry块中的语句,直到产生异常块中的语句,直到产生异常处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java网络编程基础 第5章 异常处理 Java 网络 编程 基础 异常 处理
限制150内