面向对象的程序设计-Java张白一第三版第12章.ppt
《面向对象的程序设计-Java张白一第三版第12章.ppt》由会员分享,可在线阅读,更多相关《面向对象的程序设计-Java张白一第三版第12章.ppt(31页珍藏版)》请在三一办公上搜索。
1、第12章 异常处理,12.1 Java的异常处理机制 12.2 Java的异常处理语句,12.1 Java的异常处理机制Java的异常处理机制用于及时有效地处理程序运行中的异常错误。按照这种机制,人们在程序中监视可能发生异常的程序块,一个程序中的所有异常被收集起来放到程序的某一段中处理。这就使人们不必在被监视的程序块中多处插入处理异常的代码,使完成正常功能的程序代码与进行异常处理的程序代码分开。,12.1.1 异常处理机制的结构Java中引入了异常和异常类,并且定义了很多异常类。每个异常类代表一类运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当Java程序运行过程中发生一个可识
2、别的运行错误时,系统都会产生一个相应异常类的对象,并由系统中相应的机制来处理,以确保不会产生死机、死循环或其他对操作系统有损害的结果,从而保证了整个程序运行的安全性。,在Java程序中,当程序运行过程中发生异常时,可采用如图12.1所示的两种方式处理异常:一是由Java异常处理机制的预设处理方法来处理,即一旦程序发生异常,程序就会被终止并显示一些错误信息给用户;二是使用Java语言提供的try-catch-finally语句自行处理异常。第二种方式的优点很多,其中最主要的优点是将处理异常的代码与程序代码的主线分离开来,增强了程序的可读性;其次是可减少中途终止程序运行的可能性。,图12.1 异常
3、处理机制结构,【示例程序C12_1.java】系统自动抛出异常。public class C12_1 public static void main(String args)int a,b,c;a=67;b=0;c=a/b;System.out.println(a+“/”+b+“=”+c);,该程序在NetBeans环境下的运行结果如下:Exception in thread“main”:/by zeroat C12_1.main(C12_1.java:6)Java Result:1,12.1.2 异常类的继承关系Java中定义了很多异常类,每个异常类都代表了一类运行错误,类中包含了该运行错误
4、的信息和处理错误的方法等内容。这些异常类的继承结构如图12.2所示。在Java语言中所有的异常类都继承自类。Throwable类有两个直接子类:一个是Error子类,它包含Java系统或执行环境中发生的异常,这些异常是用户无法捕捉到的;另一个是Exception类,它包含了一般性的异常,如I/O异常、SQL异常,这些异常是用户可以捕捉到的,可以通过产生它的子类来创建自己的异常处理。下面分别论述。,图12.2 异常类的继承结构,(2)java.io包中的异常。,(4)包中的异常。,(5)系统定义的运行异常Exception类。,(6)系统定义的运行异常Error类。在系统定义的运行异常Error
5、类中,除AWTError类在java.awt包中外,其余的全部在java.lang包中。java.lang包中的Error类如下:,12.2 Java的异常处理语句Java语言的异常处理是通过try、catch、finally、throw和throws语句来实现的。12.2.1 try-catch-finally语句在大多数情况下,系统预设的异常处理方法只会输出一些简单的信息到显示器上,然后结束程序的执行。这样的处理方式在许多情况下并不符合我们的要求。为此,Java语言为我们提供了try-catch-finally语句,使用该语句可以明确地捕捉到某种类型的异常,并按我们的要求加以适当处理,这才
6、是发挥异常处理机制的最佳方式。try-catch-finally的结构如图12.3所示。,图12.3 try-catch-finally的结构,try-catch-finally组合语句用来实现抛出异常和捕获异常的功能。其格式如下:try statements/可能发生异常的程序代码catch(ExceptionType1 ExceptionObject)Exception Handling/处理异常的程序代码1catch(ExceptionType2 ExceptionObject)Exception Handling/处理异常的程序代码2,finally Finally Handling/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 Java 张白一 第三 12
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6034388.html