意外的情况-异常处理

意外的情况-异常处理

ID:37252305

大小:255.10 KB

页数:20页

时间:2019-05-12

意外的情况-异常处理_第1页
意外的情况-异常处理_第2页
意外的情况-异常处理_第3页
意外的情况-异常处理_第4页
意外的情况-异常处理_第5页
资源描述:

《意外的情况-异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章意外的情况——异常处理11.1异常处理的概念11.2Java异常的体系结构11.3Java程序中如何处理异常11.4定义自己的异常11.5编写健壮的Java程序11.6小结11.7习题11.1异常处理的概念11.1.1为什么要处理异常11.1.2异常处理的简单范例11.1.1为什么要处理异常程序实际运行过程中肯定会遇到这样那样的偶然情况,实际执行当中不可能完全像我们当初设计程序时预想的那样准确无误地从头运行直到结束。当遇到这些情况的时候,我们的程序需要进行相应的处理,能够让程序尽可能正常运行下去,不要因为一处小小的意外导致程序不能正常工

2、作或是得到错误的结果。这就是异常处理的主要目的,让我们的Java程序适应能力变得更强,可以容忍一定的错误情况。1.Java程序中经常遇到的异常情况2.Java中如何处理异常3.异常与错误有什么区别11.1.2异常处理的简单范例Java中异常处理的过程可以抽象为4个阶段:(1)异常发生。(2)异常捕获。(3)异常处理。(4)恢复正常。这个过程可以使用下面的流程图来表示,请大家先看看图11.1中的流程图。图11.111.2Java异常的体系结构11.2.1Exception类及其子类11.2.2部分Java中的异常类的含义11.2.3Java中可能

3、会抛出异常的方法11.2.1Exception类及其子类Java中所有的异常类都是由java.lang.Exception类派生出来的,这就像所有的类都是由Object类派生出来一样。很自然,Exception类也是由Object类的子类——Throwable类派生出来。需要告知大家的是,虽然这些异常类都是Exception类的子类,但它们可不一定包含在同一个包中哦!这是因为Java中的各种操作都有可能会发生异常,将所有的异常类放在一个包中是不现实的。图11.2Java异常处理流程图11.2.2部分Java中的异常类的含义Java中的异常类有些

4、类似上一章中讲的I/O类,它们之间的情况都是大同小异,适合用在不同的异常情况下。给大家列出部分常用的,比较典型的异常类,通过它们来学习Java中的异常处理。下面我们将部分异常类的信息列到了下表中,请诸位过目先。11.2.3Java中可能会抛出异常的方法下面的表中列举出几个会抛出异常的方法,我们先来看下这几个简单的异常吧!11.3Java程序中如何处理异常11.3.1捕获异常11.3.2获取异常信息11.3.3try、catch和finally11.3.4异常处理举例11.3.1捕获异常现在我们来看如果Java程序的执行过程中遇到意外,抛出的异常

5、如何被捕获。要想处理Java程序运行过程中抛出的异常,首先要捕获它们。前面讲过异常处理的流程当中,try区块中的内容是异常产生并被抛出的地带。这里面产生的异常将由紧随其后的catch语句所捕获。1.多个catch语句的顺序,如图11.3所示2.在多层方法调用中的异常抛出顺序,如图11.4所示图11.4图11.311.3.2获取异常信息在捕获异常之后,处理异常之前,必然是要先得到异常的相关信息。这些信息不仅仅用来在程序的异常处理中用得着,它们最大的作用是可以帮助我们分析异常产生的原因,改善程序的设计。我们在捕获异常的时候,catch语句所接收的只

6、有一个参数——Java的异常对象。这也就意味着如果我们要想在catch语句捕获异常之后来获取异常信息时只能从异常对象当中取得异常的相关信息。11.3.3try、catch和finally我们已经知道Java的异常处理过程一共有3个大的部分:try,catch和finally。其中try区块是有可能发生异常的代码所存放的位置;它的后面可以跟一个或多个catch语句,这些catch语句各自负责处理自己所能够捕获的指定类型的异常。在try区块的后面必须紧跟catch语句,中间不能有其它任何代码,而且一个catch语句前面只能有一个try区块。在cat

7、ch语句的后面,可以有选择地加上finally区块。inally区块是不论是否有异常发生都会执行的部分。这部分的作用一般是用来释放系统的资源,或是将一些对象的状态恢复到程序执行之前的样子,能让我们的程序保持一致性。11.3.4异常处理举例前面已经将Java中异常处理的内容介绍完了,按照惯例我们在最后会给大家提供一个实例。这个例子当中我们所做的事情就是从终端几个学生的成绩,然后计算他们的总成绩和平均成绩,并将所有的数据都保存到一个文件中。学生的人数也是在程序最开始的时候由用户在终端上输入。整个过程中有多处需要进行异常处理的情况,一起来看看吧!11

8、.4定义自己的异常11.4.1自己定义异常类11.4.2抛出异常11.4.3异常抛出实例11.4.1自己定义异常类异常也是类,Java中能够定义自己的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。