第4章深入面向对象的程序设计.pps-淮海工学院.ppt

第4章深入面向对象的程序设计.pps-淮海工学院.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定义异常类 示例 4.6.3 异常的抛出 Java程序在运行时如果由于可识别的错误,系统就产生一个与该错误相对应的异常类的对象,这个过程就是异常的抛出。 (1)系统自动抛出的异常 所有系统定义的运行异常都可以由系统自动抛出。 例:public class TestSystemException? { ??? public static void main(String[] args) ?? {? ?????? int a=0,b=5; ?????? System.out.println(b/a); //以零为除数,引发系统定义的算术异常 ??? } } (2)语句抛出的异常 用户程序定义的异常不可能靠系统自动抛出,必须借助throw语句定义何种情况才算产生了此种异常对应的错误,并抛出这个异常类的新对象。 语法: 修饰符 返回类型 方法名(参数列表) throws 异常类名列表 {?? ... ??? throw 异常类名; ??? ... } 对有可能出现异常的方法,用throws语句列出可能出现的异常类名,这样当发生异常时,系统就调用异常处理程序。 注意的问题: (1)一般这种抛出异常的语句应该被定义为在满足一定条件时执行,如在if语句的条件分支中。 (2)含有throw语句的方法,应该在方法头定义中增加如下的部分: throws 异常类名列表 (3)由于系统不能识别和创建用户自定义的异常,所以需要编程者在程序中的合适位置创建自定义异常的对象,并利用throw语句将这个新异常对象抛出。 定义可能产生异常的方法 示例 4.6.4 异常的处理 包括捕捉异常、程序流程的跳转和异常处理语句块的定义。 (1)捕捉异常 异常被抛出时,用专门的语句来接收异常对象,格式如下: catch(异常类名 异常形式参数名) { ??? 异常处理语句; } Java语言规定: 每个catch语句块都应该与一个try语句块相对应,这个try语句块用来启动Java的异常处理机制,可能抛出异常的语句(包括throw语句、调用可能抛出异常方法的方法调用语句)都应该包含在这个try语句块中。 (2)多异常处理 通过一个try块后面定义若干个catch块来实现,每个catch块用来接收和处理一种特定的异常对象。 注意如下问题: 1)catch块中的语句应根据异常的不同执行不同的操作; 2)处理多异常时应注意设计各catch块的排列顺序,一般处理较具体和常见的异常应放在前,可以与多种异常相匹配的应放在后;否则可能造成它后面的catch块将永远不被使用。 用try/catch块抛出并捕获异常 示例 三种情况的运行结果如下: 异常处理机制小结(定义、抛出、捕捉) 1)定义异常类y的处理内容: class 异常y extends Exception { …… } 2)定义抛出异常的方法x(): 方法x( ) throws 异常y { … throw (new 异常y(参数)); … } 3)将可能产生异常的方法放在try块里启动异常处理机制 try{ …… 方法x( ) ;…… } 4)捕获异常: catch(异常y y1) { …… } 应用了面向对象各种知识的 完整例子——银行卡 /News/Detail_Layout1.aspx?id=15111 且看且思考 且敲且理解 且考且答疑 且学且进步 继承与多态 构造函数的继承与重载 Java的非访问控制符 Java的包与访问控制符 Java的接口 Java的异常处理 本章小结: * System:系统类 Out:静态属性 println:方法 * * //包的引用示例 Pack.java import card.*; public class Pack { public static void main(String args[]) { X1 aa=new X1(4,5); aa.show(); X2 bb=new X2(10,20); bb.show(); } } CLASSPATH 类路径: CLASSPATH是系统环境变量,指明所有缺省的类字节码文件 .class的路径;当程序找不到所需其他类的.class文件时,系统自动到CLASSPATH所指明的路径中寻找。可以在控制面板—系统—高级中设置,新建变量CLASSPATH 。 例:JDK的java解释器有开关参数-classpath java test

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档