第9章 异常处理(第4版).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 异常处理(第4版)

* * L/O/G/O 第9章 异常处理 * 本章主要内容 自定义异常类的设计 4 异常的定义与分类 1 try-catch-finally语句 2 抛出异常的方式 3 * 9.1 异常处理的基本概念 异常(exception) :在程序运行中由代码产生的一种错误。 在不支持异常处理的程序设计语言中,每一个运行错误必须由程序员手动控制。 Java语言:异常处理机制,将程序运行时的管理带到面向对象的世界。 * 9.1.1 错误与异常 按照错误的性质分类: 语法错:是由于违反Java的语法规则而产生的错误,只要没有编译错误,才可生成字节码。 语义错(运行错):程序在语法上正确,但在语义上存在错误,如输入数据格式错、除数为0错、给变量赋值超出其允许范围等,这类错误只能在运行时发现,有的还需进行异常处理。 逻辑错:程序编译通过,也可运行,但运行结果与预期不符。如由于循环条件不正确而没有结果,循环次数不对等因素导致的计算结果不正确等。 只有凭借经验排查。 * 9.1.1 错误与异常 根据错误严重程度的不同将运行错分类: 错误:是指程序在执行过程中所遇到的硬件或操作系统的错误,是致命的,需外界干预。如:内存溢出、虚拟机错等。 异常:是指在硬件和操作系统正常时,程序遇到的运行错。如数组越界、除数为0、操作数超出数据范围等、异常不是致命的,但会导致程序非正常终止,异常处理机制使程序自身能够捕获和处理异常。 * 9.1.2 Java异常处理机制 异常(类):是指程序在运行过程中发生由于算法考虑不周或软件设计错误等导致的程序异常事件。 抛出异常:在一个程序运行过程中,如果发生了异常事件,则产生一个代表该异常的对象,并把它提交给运行系统的过程称为抛出(throw)异常。 捕获异常:异常抛出后,运行系统从生成异常对象的代码开始,沿方法的调用栈逐层回溯查找,直到找到包含相应异常处理的方法,并把异常对象提交给该方法为止,这个过程称为捕获(catch)异常。 * 异常对象可由应用程序本身产生,也可能由JVM产生 9.1.2 Java异常处理机制 Java异常处理机制:Java中定义了很多异常类,每个异常类代表一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当Java程序运行过程中产生一个可识别的运行错误时,系统都会产生一个相应的该异常类的对象。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,从而保证整个程序运行的安全性。 * 9.2 异常处理类 在“异常”类层次上的最上层有一个单独的类叫做Throwable,它是java.lang包中的一个类。 java.lang.Error:由系统保留,通常Java程序不对这种错误进行直接处理,必须交由操作系统处理。 java.lang.Exception:供应用程序使用的,它是用户程序能够捕捉到的异常情况。 * 9.2 异常处理类 Exception构造方法: public Exception(); public Exception(String s); Exception常用方法: public String toString():该方法返回描述当前Exception类信息的字符串。 public void printStackTrace():该方法没有返回值,它的功能是完成一个输出操作,在当前的标准输出设备(一般是屏幕显示器)上输出当前异常对象的堆栈使用轨迹,即程序先后调用并执行了哪些对象或类的哪些方法,使得运行过程中产生了这个异常对象。 通常是对该异常所对应的错误描述。 * 9.2 异常处理类 异常类的层次结构如教材图9.1所示。 程序对错误与异常的处理方式有三种: 一是程序不能处理的错误,交操作系统处理; 二是程序应避免而可以不去捕获的运行时异常(RuntimeException); 三是必须捕获(使用try-catch-final)的非运行时异常。 * 9.3处理的异常 异常类异常处理是通过try、catch、finally、throw、throws五个关键字来实现的。 异常的产生 使用try-catch-finally语句捕获和处理异常 捕获异常的意义:能让程序来接收和处理异常对象,从而不影响其他语句的执行。 * 9.3 处理的异常 使用try-catch-finally语句捕获和处理异常 捕获异常:当一个异常被抛出时,有专门的语句来接收这个被抛出的异常对象。当一个异常类的对象被捕获或接收后,用户程序就会发生流程跳转,系统终止当前的流转而跳转到专门的异常处理语句块,或直接跳出当前程序和JVM回到操作系统。 * 9.3 处理的异常 使用try-catch-finally语句捕获和处理异常 try-catch-finally语句语法格式: try {

文档评论(0)

yanpan1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档