JAVA学习--第7节 Java的异常.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Page * 重写方法中声明并抛出异常 注意: 重写方法需要抛出与原方法所抛出异常类型一致异常或者子异常或不抛出异常或者同时抛出RuntimeException。 例如: class A { public void method() throws IOException {…} } class B1 extends A { public void method() throws FileNotFoundException {…} } class B2 extends A { public void method() throws Exception {…} } class B3 extends A { public void method() {…} } class B4 extends A{ public void method() throws IOException,MyException{…} } A.Java Page * 断言的语法: assert boolean_expression ; assert boolean_expression : detail_expression ; 如果 boolean_expression 计算为 false,则抛出 AssertionError。不要捕获该错误,程序会异常终止 第二个参数转换为字符串, 用作 AssertionError 消息中的描述文本。 断言 Page * 断言(续) 推荐的断言使用: 使用断言来用记下和验证单个方法的假设和内部逻辑: 内部不变量 控制流不变量 后置条件和类不变量 不适当的断言使用: 不使用断言来检查 public 方法的参数。 不使用可导致负面效果的断言检查中的方法。 Page * 控制运行时断言的求值 断言比异常具有的一大优势是可以在运行时禁用断言检查。 断言的检查没有系统的任何开销,代码的运行速度与没有断言测试的速度一样 优于条件编译的两点原因: 对于产品部需要不同的编译阶段 如果有必要在实际应用中重新启用断言,以确定未知环境中断言是否有效 断言的缺省状态为禁用。打开断言的方式: java –enableassertions Myprogram java –ea Myprogram 断言可以由包、包的层次或单个类来控制 Page * 总结 一个图 五个关键字 先逮小的,再逮大的 异常和重写的关系 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学计算机学院 Version 2.0 第7章 Java的异常 Page * 第5章 Java的异常 Java 异常概念 Java 异常的分类 异常的捕获和处理 描述异常类别 确定常见异常 开发处理自己的异常的程序 使用断言 区分适当的和不适当的断言的使用 在运行时启用断言 运行期出现的错误 观察错误的名字和行号最重要 Page * 异常的概念 Java 异常是Java提供的用于处理程序中错误的一种机制。 所谓错误是指在程序运行的过程中发生的一些异常事件(如:当调用不接受的参数的方法时,除0溢出,数组下标越界,所要读取的文件不存在,网络连接失败)。 设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。 Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程称为抛出(throw)异常。 当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。 public class Test { public static void main(String[] args) { String friends[] = { Tom, John, Jenni }; for (int i = 0; i 4; i++) { System.out.println(friends[i]); } System.out.println(\nthis is the end); } } Page * 断言 断言是测试关于程序逻辑的确定假设的方式。例如: 测试在特定点的变量值总是正值 断言通常用来测试方法内部局部逻

文档评论(0)

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

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

1亿VIP精品文档

相关文档