Java课件 第13章 异常处理.ppt

Java课件 第13章 异常处理.ppt

ID:58882949

大小:437.50 KB

页数:50页

时间:2020-09-30

Java课件 第13章 异常处理.ppt_第1页
Java课件 第13章 异常处理.ppt_第2页
Java课件 第13章 异常处理.ppt_第3页
Java课件 第13章 异常处理.ppt_第4页
Java课件 第13章 异常处理.ppt_第5页
资源描述:

《Java课件 第13章 异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第13章异常处理1动因当一个程序运行时出现一个运行时错误时,这个程序就会异常终止。该如何处理这个运行时错误,以使程序可以继续运行或者平稳终止呢?这就是本章要介绍的主题。2学习目标了解异常和异常处理的概貌(第13.2节)。探究使用异常处理的优点(第13.3节)。区别异常的类型:Error(致命的)和Exception(非致命的),以及必检和免检异常(第13.4节)。在方法头中声明异常(第13.5.1节)。在方法中抛出异常(第13.5.2节)。编写try-catch块处理异常(第13.5.3节)。解释异常是如何传播的(第13.5.3节

2、)。在try-catch块中使用finally子句(第13.6节)。只为非预期错误使用异常(第13.7节)。在catch块中重新抛出异常(第13.8节)。创建链式异常(第13.9节)。定义自定制的异常类(第13.10节)。3异常处理概述QuotientRunQuotientWithIfRunQuotientWithExceptionRun显示运行时错误使用一条if语句来处理它如果在方法被调用时发生运行错误该怎么办?4异常处理的优势QuotientWithMethodRun现在,你看到了使用异常处理的优点。它能使方法抛出一个异常给它

3、的调用者。这个调用者可以处理该异常。如果没有这个能力,那么被调用的方法就必须自己处理异常或终止该程序。5处理InputMismatchException异常InputMismatchExceptionDemoRun通过处理异常InputMismatchException,程序将可以继续读取输入直到它是正确的为止。6异常类型7系统错误系统错误(Systemerrors)是由Java虚拟机抛出的,它用Error类表示。Error类描述的是内部系统错误。这样的错误很少发生。如果发生,除了通知用户以及尽量稳妥地终止程序外,几乎什么也不能做

4、。8异常异常(Exception)描述的是由程序和外部环境所引起的错误,这些错误能被程序捕获和处理。9运行时异常运行时异常(RuntimeException)是程序设计错误所引起的,例如,错误的类型转换、访问越界数组或数值错误。10必检异常和免检异常RuntimeException、Error以及它们的子类都被称为免检异常(uncheckedexceptions)。所有其它异常都被称为必检异常(checkedexceptions),意思是编译器会强制程序员检查并处理它们。11免检异常在大多数情况下,免检异常都会反映出程序设计中不可

5、恢复的逻辑错误。例如:如果通过一个引用变量访问一个对象之前并未将一个对象赋值给它,就会抛出一个NullPointerException异常;如果访问一个数组的界限外的元素,就会抛出IndexOutOfBoundsException异常。这些都是程序中必须纠正的逻辑错误。免检异常可能在程序的任何一个地方出现。为避免过多地使用try-catch块,Java语言不允许编写代码捕获或声明免检异常。12免检异常免检异常。13声明、抛出和捕获异常14声明异常每个方法都必须声明它可能抛出的必检异常的类型。这被称为声明异常(declaringex

6、ceptions)。publicvoidmyMethod()throwsIOExceptionpublicvoidmyMethod()throwsIOException,OtherException15抛出异常当程序检测一个错误时,程序可以创建一个恰当的异常类型的实例并抛出它。这就被称为抛出一个异常(throwinganexception)。这里有一个例子:thrownewTheException();TheExceptionex=newTheException(); throwex;16抛出异常举例/**Setanewradiu

7、s*/publicvoidsetRadius(doublenewRadius)throwsIllegalArgumentException{if(newRadius>=0)radius=newRadius;elsethrownewIllegalArgumentException("Radiuscannotbenegative");}17捕获异常try{statements;//Statementsthatmaythrowexceptions}catch(Exception1exVar1){handlerforexception1;

8、}catch(Exception2exVar2){handlerforexception2;}...catch(ExceptionNexVar3){handlerforexceptionN;}18捕获异常19捕获或声明必检异常Java强迫程序员处理

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

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

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