第8节 编写问题域类.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 编写问题域类 定义问题域类 使用静态变量和静态方法 编写自定义方法 格式化输出 重载方法 异常及其处理 8.6 异常及其处理 本章小结 本章对书店管理系统中的问题域类进行了定义及测试。 问题域(PD)类代表要在系统中表示的真实对象,应为每个PD类编写问题域类定义。 方法签名由方法名和参数表组成。Java通过方法签名而不是通过方法名来标识方法。 同一个类中参数表不同的同名方法称为重载方法。 Java中引入了异常类来处理程序运行过程中可能发生的错误。异常类是Throwable类或其子类,异常则是异常类的实例。 8.5 重载方法 重载构造方法 测试程序 8.5 重载方法 重载自定义方法 在特殊情况下,书店在中午吃饭时间不营业。 下面编写storeHours方法的第二个版本:接收不营业时间值。 8.5 重载方法 重载自定义方法 测试程序 8.6 异常及其处理 异常的概念 异常(Exception)是特殊的运行错误对象,又称为例外。 所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等。 为了提高程序的健壮性,程序设计时,必须考虑到可能发生的异常事件,并做出相应的处理。 8.6 异常及其处理 异常的概念 可以将程序中的错误分为三种类型,即编译错误、运行错误及逻辑错误。 编译错误是编译器能够检测到的错误,一般为语法错误; 运行错误是运行时产生的错误,如被零除、数组下标越界等; 逻辑错误是机器本身无法检测的,需要对程序逻辑及运行结果进行人工分析。 8.6 异常及其处理 异常的概念 Java系统中根据错误的严重程度不同,将错误分为两类: 错误:是致命性的,即程序遇到了非常严重的不正常状态,不能简单地恢复执行。 异常:是非致命性的,通过某种修正后,程序还能继续执行。 8.6 异常及其处理 异常类和错误类的层次结构 所有的包中都声明了异常类和错误类; Exception类是所有异常类的父类; Error类是所有错误类的父类; 这两个类同时又是Throwable的子类。 8.6 异常及其处理 异常类和错误类的层次结构 非检查型异常 8.6 异常及其处理 编译器对继承自RuntimeException的异常不做检查。 Java类必须在方法签名中声明它们所抛出的任何检查型异常。 对于任何方法,如果它调用的方法抛出一个类型为E的检查型异常,那么调用者就必须捕获E或者也声明抛出E(或者E的一个父类),对此编译器要进行检查。 8.6 异常及其处理 Java预定义了一些常见异常: ArithmeticException NullPointerException ArrayIndexOutOfBoundsException FileNotFoundException IOException 8.6 异常及其处理 异常处理 对于检查型异常,Java强迫程序必须进行处理。 处理方法有两种:声明抛出异常,捕获异常。 8.6 异常及其处理 声明抛出异常 如果程序员不想在当前方法内处理异常,可以使用throws子句声明将异常抛出到调用方法中。 8.6 异常及其处理 声明抛出异常 一个 throws 子句也可以声明抛出多个异常。 8.6 异常及其处理 声明抛出异常 调用程序也可以将异常再抛给它的调用程序。 8.6 异常及其处理 声明抛出异常 如果所有的方法都选择了抛出此异常,最后Java虚拟机( JVM)将捕获它,输出相关的错误信息。 在异常被抛出的过程中, 任何方法都可以捕获异常并进行相应的处理。 8.6 异常及其处理 捕获异常 使用try语句括住可能抛出异常的代码段,用catch语句指明要捕获的异常及相应的处理代码。 8.6 异常及其处理 捕获异常 Finally块的作用通常用于释放资源,Finally不是必须的部分,如果有finally部分,不论是否捕获到异常,总要执行finally后面的语句。 在有多个异常需要捕获时,异常类型的顺序很重要,特殊的异常类型要放在前面,一般的异常类型要放在后面。 8.6 异常及其处理 捕获异常 在 catch 块的内部, 可用下面的方法处理异常对象: getMessage() – 返回一个字符串,对发生的异常进行描述。 printStackTrace() – 给出方法的调用序列,一直到异常的产生位置。 8.6 异常及其处理 生成异常对象 在Java程序中,通过throw语句生成异常对象,例如: throw new ThrowableObject(); ArithmeticException e = new ArithmeticException(); throw e; 8.6 异常及其处理 生成异常对象 编写

文档评论(0)

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

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

1亿VIP精品文档

相关文档