第13章、使用异常处理程序错误资料.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
总结 错误和异常有什么区别? 异常分成那两类? 异常的执行顺序是什么? 如何来处理异常? 异常有那些关键字? / * * * 比如在网站注册的时候,有填写年龄的选项,要求是输入数字,但如果有用户输入字符,还有如果进行除法运算,被除数当用户输入0,那程序面对这样的异常该怎么办呢?那么在JAVA中就提供了这样的异常处理机制。异常处理机制就象人平时遇到一些自己使料不及的事情的时候,预先想好了一些处理的办法。 异常:在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它。Java中使用异常类来表示异常,不同的异常类代表了不同的异常。在Java中所有的异常都有一个基类,叫做Exception。 错误:它指的是一个合理的应用程序不能截获的严重的问题。大多数都是反常的情况。”,错误是VM的一个故障(虽然它可以是任何系统级的服务)。所以,错误是很难处理的,一般的开发人员是无法处理这些错误的。比如内存溢出;他也有一个基类叫做Error。 综上,我们可以知道异常和错误最本质的区别就是: 异常能被开发人员处理,而错误是系统本来自带的,一般无法处理也不需要我们程序员来处理。Java中Exception和Error有个共同的父类Throwable. * * * 用异常来处理错误 ??? 我们总是试图避免在软件程序中错误的发生,但是它的存在却是不幸的实事。无论怎样,如果你能适当的处理错误,将会极大的改善程序的可读性、可靠性以及可维护性。Java编程语言使用异常来处理错误。这章主要讲述在什么时候和怎样使用异常来处理错误。 ??? 什么是异常? ??? Java编程语言使用异常机制为程序提供了错误处理的能力。一个异常是在程序执行期间发生的一个事件,它使用正常的指令流中断。 ??? 捕获或指定需求 ??? 这段讲述捕获和处理异常。在讨论中包括:try,catch和finally程序块,还有异常链和日志。 ??? 怎样抛出异常 ??? 这段讲述异常抛出语句和Throwable类以及它的子类。 ??? 有关未检查的异常争论 ??? 因为Java编程语言不要求捕获或指定运行时异常或错误的方法,所以程序员会被诱导来编写只抛出运行时异常代码,在这段中我们会解释为什么不应该被诱导。 ??? 异常的好处 ??? 在这段中,你将会学到更多的使用异常来管理错误优于传统的错误管理技术方面的知识。 ??? 什么是异常? ??? 异常(exception)应该是异常事件(exceptional event)的缩写。 ??? 异常定义:异常是一个在程序执行期间发生的事件,它中断正在执行的程序的正常的指令流。 ??? 当在一个方法中发生错误的时候,这个方法创建一个对象,并且把它传递给运行时系统。这个对象被叫做异常对象,它包含了有关错误的信息,这些信息包括错误的类型和在程序发生错误时的状态。创建一个错误对象并把它传递给运行时系统被叫做抛出异常。 ??? 一个方法抛出异常后,运行时系统就会试着查找一些方法来处理它。这些处理异常的可能的方法的集合是被整理在一起的方法列表,这些方法能够被发生错误的方法调用。这个方法列表被叫做堆栈调用(callstack),调用方式如下图所示(图片参见附件) ??? 运行时系统搜寻包含能够处理异常的代码块的方法所请求的堆栈。这个代码块叫做异常处理器,搜寻首先从发生的方法开始,然后依次按着调用方法的倒序检索调用堆栈。当找到一个相应的处理器时,运行时系统就把异常传递给这个处理器。一个异常处理器要适当地考滤抛出的异常对象的类型和异常处理器所处理的异常的类型是否匹配。异常被捕获以后,异常处理器关闭。如果运行时系统搜寻了这个方法的所有的调用堆栈,而没有找到相应的异常处理器,如下图所示,运行进系统将终止执行。(图片参见附件) ??? 使用异常来管理错误比传统的错误管理技术有一些优势,你可以“异常的优势”一节学到更多的知识 * public class Test { public static void main(String[] args) { new Test().test(); } public void test() { try { System.out.println(“try); } catch (ArrayIndexOutOfBoundsException e){ System.out.println(“catch 1); } catch(Exception e) { System.out.println(“catch 2); } fin

文档评论(0)

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

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

1亿VIP精品文档

相关文档