《异常处理机制 》PPT课件.ppt
《《异常处理机制 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《异常处理机制 》PPT课件.ppt(51页珍藏版)》请在三一办公上搜索。
1、第7章 异常处理机制,学习目标 本章要点上机练习 习 题,学习目标,编写程序中不可能不出现错误,Java语言把程序运行中可能遇到的错误分为两类:一类是非致命的错误,通过修改后还能继续运行,这种错误就是异常(Exception);另外一类是致命错误,即系统不能恢复,这就是错误(Error)。,学习目标,Java语言使用一种特殊的机制来处理异常,本章将通过具体例子来讲解Java怎样用try-catch-finally语句来实现这种机制,以及怎样使用自定义异常类型来扩充Java系统的异常处理功能。通过本章学习,读者可解决Java编程中遇到的常见问题,使编程过程更加顺畅。,本章要点,异常的概念异常和错
2、误产生原理异常的处理机制如何自定义异常,Java中的异常,异常处理是Java语言中用于处理程序各种错误的一种机制,严谨地处理错误是保证程序效率和质量的关键。本节将详细介绍Java语言中错误的基本概念。异常和错误的产生 异常的层次结构,异常和错误的产生,任何一种计算机语言设计的程序在运行时都可能出现各种错误,常见的错误如除数为0、文件不存在、文件不能打开、数组下标超过界限和内存不够用等。对于这种在运行中出现的错误,计算机系统中通常有两种处理办法。,异常和错误的产生,由计算机系统本身直接检测程序错误,遇到错误时使程序终止运行。这种处理方法的优点是使程序设计比较简单。但是,对程序错误一概地采用终止运
3、行办法,显然过于简单。,异常和错误的产生,由开发人员在程序设计中兼顾错误检测、错误信息显示和出错处理。这种处理方法的优点是减少中途终止程序运行的可能性。但是,要求开发人员在程序设计中不仅将精力用于正常处理过程,还要精心考虑错误检测和处理,这会使程序变得复杂。,异常和错误的产生,并且,这类错误检测往往是多数程序中重复甚至在一个程序中多次重复。而另一方面,如果程序中某处忽略了应有的检测,又将引起程序总体结果的错误。,异常和错误的产生,Java采用异常处理机制来处理程序运行中的错误。按照这种机制,将程序运行中的所有错误都看成一种异常,通过对语句块的检测,一个程序中所有的异常被收集起来放在程序的某一段
4、中去处理。在Java系统中,专门设置了一个调用栈,此栈中装有指向异常处理方法的指针。,异常和错误的产生,在程序运行时,系统会把收集到的异常和异常处理指针所指的处理类型逐个比较,如果找到相符的类型,那么就转向相应的方法处理,如没有在调用栈中找到相应的类型指针,则终止程序运行,并显示解释信息。,异常和错误的产生,在Java程序中,异常一般由以下两种原因引起。,异常和错误的产生,程序中存在非法操作:最简单的例子就是除数为0的除法操作,这常常是开发人员出于无意或大意造成的,称为隐式异常。常见的隐式异常可以通过java.lang包中的Throwable类的子类Error处理。,异常和错误的产生,程序使用
5、throw语句引起的异常:这种异常是开发人员出于某种考虑有意安排的,称为显式异常。,异常和错误的产生,在throw语句中,都会指出处理显式异常的对象,这些对象都是由java.lang包的类Throwable的子类Exception再派生的子类生成的,每个对象完成对某种异常的处理功能,这些对象综合起来实现各种异常处理。,异常和错误的产生,【例7-1】异常的产生(光盘:源文件第7章例7-1.txt)。,异常和错误的产生,该程序抛出一个越界异常。异常处理允许程序捕获异常,处理它们,然后程序继续执行。它是分层把关,因此,错误情况不会介入到程序的正常流程中。当错误情况发生时,错误与正常执行的代码在分离的
6、代码块中被处理,这就更易识别和管理。,异常的层次结构,Java程序中的异常以类的层次结构组织。Throwable是所有异常类的父类,它是Object的直接子类。Exception和Error是Throwable的直接子类,而RuntimeException是Exception的子类。这些异常类是可以检测的。,异常的层次结构,异常的层次结构,在系统包java.lang、java.util、java.io和中声明的异常类是标准异常类。这些标准异常类分为RuntimeException子类和其他Exception的子类两种。,异常的层次结构,RuntimeException子类,因为RuntimeE
7、xception子类是不可检测的异常类,所以这些标准异常类也是不可检测的异常类。除了RuntimeException子类以外的其他Exception的子类。,异常的层次结构,下面分别介绍这些类。不可检测的标准异常类 可以检测的标准异常类,不可检测的标准异常类,java.langk中不可检测的标准异常类如下所示。ArithmeticException表示遇到异常的算术问题,比如被0整除。,不可检测的标准异常类,ArrayStoreException表示试图把和数组类型不符合的值存入数组。ClassCastException表示试图把一个对象的引用强制转换为不合适的类型。,不可检测的标准异常类,I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 异常处理机制 异常处理机制 PPT课件 异常 处理 机制 PPT 课件
链接地址:https://www.31ppt.com/p-5507174.html