异常处理Java程序设计及应用

异常处理Java程序设计及应用

ID:39394676

大小:264.50 KB

页数:11页

时间:2019-07-02

异常处理Java程序设计及应用_第1页
异常处理Java程序设计及应用_第2页
异常处理Java程序设计及应用_第3页
异常处理Java程序设计及应用_第4页
异常处理Java程序设计及应用_第5页
资源描述:

《异常处理Java程序设计及应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java程序设计及应用开发教程主编:虞益诚E-mail:yuyich@sit.edu.cn7/21/20211第6章异常处理6.1异常处理机制6.2异常处理方法6.3本章小结本章主要讲述Java语言中的异常及异常处理方法。首先讲述了Java语言的异常处理机制,对Java的异常类层次进行了描述,对常见的异常类型作了解释;对捕获异常以及异常处理方法的常用语句进行了解释和分析;也对自定义异常的方法进行了讲解。7/21/20212第6章异常处理6.1异常处理机制异常(Exception)就是程序在运行过程中所发生的异常

2、事件,即不可预测的非正常情况。Java语言提供的异常处理机制主要是用来处理程序执行过程中产生的各种错误(如数组下标越界、除数为0等)。使用异常对程序给出一个统一和相对简单的抛出和处理错误的机制。如果一个方法本身能抛出异常,当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常。6.1.1异常层次结构异常类的根节点为Throwable,它分为两大类Error(错误)和Exception(异常)。常见系统定义的执行异常如表6-1所示。例如:intx=0,y;y=20/x;ArithmeticExc

3、eption算术错误异常……图6-1异常的层次结构7/21/20213第6章异常处理6.1异常处理机制07/21/20214第6章异常处理6.1异常处理机制6.1.2异常处理机制异常采用了一种面向对象的处理机制,把异常看作一种类,每当发生此类事件时,Java即自动创建一个异常对象,并执行相应的代码去处理该事件。6.1.3异常的分类异常通常分为三种类型:第一类是Java虚拟机由于某些内部错误产生的异常,这类异常不在用户程序的控制之内,用户不需要处理这类异常;第二类是标准异常,这类异常通常是由程序代码中的错误产生的

4、,例如被0除、数组下标越界等。这是需要用户程序处理的异常。第三类是用户根据需要在程序中自定义的异常。6.1.4内置异常类系统中原有的异常类称为内置异常类,与自定义异常类不同,内置异常类是系统已经定义好的,程序员只能对产生了这些异常之后如何进行处理来编程,不能指定怎样的异常属于内【例6-1】应用程序采用默认异常处理的执行情况。类。7/21/20215第6章异常处理6.2异常处理方法Java提供了两种异常方法:其一是使用try…catch…finally结构语句对异常进行捕捉和处理;其二是通过throw和throw

5、s抛出异常。6.2.1异常的捕获与处理异常处理的语法结构形式如下:try{可能出现异常的程序执行体}catch(异常类型1异常对象1){异常类型1对应异常处理程序体1}catch(异常类型2异常对象2){异常类型1对应异常处理程序体2}…….Finally{异常处理结束前的执行程序体}【说明】try语句用于指明可能产生异常的程序代码段,其中所写的为被监视的代码段,一旦发生异常,则由catch代码进行处理。catch为等待处理的异常事件及其处理代码,在try语句之后。一个try语句可以有若干个catch语句与之相

6、匹配,用于捕捉异常。每一个要捕捉的异常类型对应一个catch语句,该语句包含着异常处理的代码。finallly为最终处理的代码段,是个可选项,如果包含有finally块,无论异常是否发生,finally块的代码必定执行。7/21/20216第6章异常处理6.2.1异常的捕获与处理【例6-2】异常的捕获与处理。publicclassTryCatchTest{publicstaticvoidmain(Stringargs[]){inta=20,b=0,c;try{System.out.println(“Before

7、Exception”);c=a/b;System.out.println(“AfterException”);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“ArrayIndexOutOfBoundsExceptionAccess”);}catch(ArithmeticExceptione){System.out.println(“ArithmeticExceptionAccess”);}System.out.println(“Except

8、ionAccessEnd”);}}【程序解析】从执行结果看,程序在c=a/b这一行产生了异常,该行称为异常的抛出点。由于产生的异常是ArithmeticException类型,因此流程转到相应的catch语句中,处理结束后转到try-catch语句的外部。程序运行结果如图6-2所示。图6-2异常的捕获与处理示意图7/21/20217第6章异常处理6.2.2异常的抛出通常异常是由系统自动

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

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

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