lecture11-异常处理讲述.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lecture11-异常处理讲述

华东师范大学软件学院 王丽苹 异常处理和异常类型 Chapter 11 557-572 Hy Mao * 华东师范大学软件学院 Outline 异常处理的重要性 Java语言中的异常处理 Java的异常类 如何定义自己的异常: 定义新的异常 抛出异常 捕获异常 异常的处理流程 调试技术与调试技巧 异常介绍 Example:以下代码运行之后会出现什么情况? 异常介绍 异常简介 什么是异常? 异常实际上是导致正常指令流中断的一种事件. 编写应用程序时应该做些什么工作(程序中的Bug是不可避免的,编写程序时应该尽量的避免错误的出现,并且提供尽可能多的错误信息): 通知用户出现了一个错误。 保存当前已经完成的所有工作。 允许用户安全地退出程序。 异常简介 什么类型的错误可以导致异常呢? 严重的硬件错误,如内存中某些芯片故障或者硬盘崩溃。 程序需要使用系统中当前不可用的I/O设备 试图用零去除 试图通过超过边界的下标访问数组的元素 整数溢出 浮点数溢出 试图打开不存在的文件以使用 试图打破安全性,比如试图修改只读文件 传统的错误处理技术 在一般的传统的语言中如何处理异常事件? 例如:如何处理除数为0的事件。 早期除了精心设计的之外,编程语言没有任何的错误处理机制。 程序员必须考虑可能的错误条件并沿着主应用程序代码进行检查。 程序员认真地考虑所有类型的错误检测,是非常巨大的任务。 传统的错误处理技术 以常规方法处理错误—退出程序,返回错误编号 Note: 常规方法的不足: Java中处理异常的思路 Java中的异常可以理解为一种特殊的class。 Java中用异常来处理程序中可能的错误,其主要的特点在于: 1.把错误代码从常规代码中分离出来(便于集中精力处理特定的功能)。 2. 把错误传播给调用堆栈。 3. 按错误类型和错误差别分组(复用的思想)。 4. 系统提供了对于一些无法预测的错误的捕获和处理 5. 克服了传统方法的错误信息有限的问题 Exception—如何捕获 Exception—如何捕获 try{}程序块中通常包含了java程序中的一段代码,这段代码在运行中可能会出现异常的事件。try意味着需要检测这段代码的执行。 catch程序块: 语法为:catch (ExceptionClass exceptionObj){} catch程序块必须出现在try程序块之后。一个try程序块后可以跟一个或多个catch程序块。 当try程序块中没有出现异常时,catch程序块直接被跳过。 当try程序块中出现异常时,与当前异常匹配的catch程序块被执行。 具体情况可以参考以下的实例。 Example-ExceptionTest.java Example-ExceptionTest.java Java中定义的异常 异常的分类 Java中定义的异常 Error:描述了java运行时间系统内部的错误以及资源耗尽的情况。用户一般对这种错误是无能为力的。(例如虚拟机内部的错误、内存溢出、堆栈溢出的错误) 异常的分类: Unchecked Exception是指Error类和RuntimeException类及其他们的子类。 RuntimeException及其子类表示的异常往往是由于程序编写的错误造成的。 例如数组越界错误,空指针错误等,这一类错误往往可以通过改写程序来避免。 在程序中可以不捕获Unchecked Exception。 Java中定义的异常 异常的的分类: Checked Exception是指除了Error类和RuntimeException类及其他们的子类之外的异常类。 Checked Exception往往表示由于外界的因素造成的系统异常事件例如I/O错误,读取硬盘错误等,这一类异常在程序代码中是没有办法解决的。 如果在代码中存在Checked Exception,必须要用try和catch程序块开处理这一类异常事件。 Java中定义的异常 Java程序中常用的异常类 RuntimeException: 错误的转型(cast):java.lang.ClassCastException 数组越界错误:java.lang.ArrayIndexOutOfBoundsException 空指针错误:java.lang.NullPointerException 数组元素类型错误:java.lang.ArrayStoreException 算术运算错误:java.lang.ArithmeticException String转换成数字类型时的错误:java.lang.NumberFormatException 非RuntimeException: 文件读取越界:java.io.EOFExcept

文档评论(0)

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

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

1亿VIP精品文档

相关文档