网站大量收购独家精品文档,联系QQ:2885784924

第11章 Java高级编程.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java高级编程 异常处理 Java 多线程机制 流式输入输出 异常处理 异常与异常类 异常又称为例外,是程序运行时出现的错误.程序中往往存在一些潜在和无法预料的错误.如果程序中的错误都由程序员发现和处理,会增加程序员的负担.而且由于程序员的考虑不周、程序运行环境的不同等诸多因素,运行程序时还可能出现各种错误。任何一种错误都可能影响程序的正常运行。 为了能够及时处理程序中发生的错误,java中引入了异常类和异常对象。每个异常类代表一种类型的运行错误,类中包括该种错误的信息和处理错误的方法。程序正在运行过程中如果发生了与某种异常类相对应的错误,系统就为该异常类产生一个异常对象。一旦有异常对象产生,就可以用相应的机制处理异常,确保程序能够安全正常的继续运行。 异常类的层次结构 所有异常类都是Throwable类或其子类。 Throwable类派生了两个子类,分别是Exception和Error。 Exception和Error类又各自分为多个子类。 Error类是Throwable类的子类,由系统保留,用户不能使用。也就是说, Error类型的错误不允许用户插手处理,由java系统自行处理。 Exception类是Throwable类的子类,程序中可以直接使用Exception类处理Exception类型的异常。 Exception类又进一步细分为RuntimeException运行异常和其他异常,都是一些常见的错误。 Exception类的主要子类 RuntimException类的常用子类 异常的处理机制 Java对异常的处理涉及两方面的内容:一是抛出异常,二是捕捉异常。 如果程序在运行时出现运行错误,就会产生异常对象,这个过程称为抛出异常。当有异常对象抛出时,将在程序中寻找处理这个异常的代码,如果找到处理代码,则把异常对象交给处理代码进行处理,这个过程称为捕捉异常。 抛出异常 由系统自动抛出异常 在程序运行中,如果出现了可被Java运行系统识别的错误,系统会产生与该错误相对应的异常类的对象,即自动抛出异常. 人为抛出异常 有两种方式:一种是在方法头写出需要抛出的异常,另一种是在方法体内用throw语句抛出异常。 throws抛出异常 在定义方法时,可以用throws关键字引出需要的异常,格式如下: 修饰符 返回值类型 方法名([形式参数列表]) throws 异常类名1,异常类名2,… 用throw语句抛出异常 如果需要在方法内某个位置抛出异常,可以用throw语句,格式如下: throw 异常对象名; 执行throw语句时,程序终止执行后面的语句,在程序中寻找处理异常的代码,如果没有给出处理代码,则把异常交给java运行系统处理。 捕捉异常 在前面给出的例子中,由于程序中都没有给出处理异常的代码,因此抛出的异常都被Java运行系统捕捉,由Java运行系统进行相应处理。一般来说,在设计程序过程中,如果能够预测程序中可能发生的异常,则应在程序中给出处理代码,而不交给Java运行系统处理,对于程序中不能预测的异常,可以交给Java运行系统处理。 try和catch 要由程序自己捕捉和处理异常,需要建立try和catch语句块建立在方法中,格式如下: 修饰符 返回值类型 方法名([形参列表]) { 不发生异常的程序段 try{可能发生异常的程序段} catch(异常类名1 对象名1){处理异常语句组1} catch(异常类名2 对象名2){处理异常语句组2} … catch(异常类名n 对象名n){处理异常语句组n} 不发生异常的程序段 } 关于try和catch语句块有如下说明: 在定义方法时,如果觉得某个序段可能发生异常,则把该程序段写在try块中,将对异常进行处理的程序段写在catch块中,catch块要紧跟在try块的后面,可以给出一个catch块,也可以给出多个catch块,每个catch块用于处理一种类型的异常,通过catch的异常类名参数指明该catch处理的异常类型。 当执行try块中的语句时,如果执行正常,则按顺序执行try语句块中的每条语句。如果在执行try块的过程中发生异常,则抛出异常,并跳出try块,在后面的catch块中按照自上而下的顺序寻找与异常类型相匹配的catch块。如果找到一个相匹配的catch块,则停止寻找,进入该catch块执行其中的语句,也就是说,该catch块捕捉到异常,由它对异常进行处理。那些未被选中的catch块都被忽略。执行完选中的catch块后,如果在所有catch块的后面还有

文档评论(0)

celkhn5460 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档