《异常处理》PPT课件

《异常处理》PPT课件

ID:38835227

大小:242.00 KB

页数:67页

时间:2019-06-20

《异常处理》PPT课件_第1页
《异常处理》PPT课件_第2页
《异常处理》PPT课件_第3页
《异常处理》PPT课件_第4页
《异常处理》PPT课件_第5页
资源描述:

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

1、第八章异常处理(Exception)8.1异常分类8.2引发异常8.3声明抛出异常8.4捕捉异常8.5定义自己的异常类型8.6构造方法与异常处理8.7小结1try-catch-finally语句,其语法格式:try{//可能发生异常的代码}catch(异常类型1变量){//<异常类型1>异常的处理代码}catch(异常类型2变量){//<异常类型2>异常的处理代码}.....finally{//总是要执行的代码}产生异常语句throw抛出异常异常类结构异常的方法finally机制2异常(例外)是方法代码运行时出现

2、的非正常状态,这种非正常状态使程序无法或不能再正常地继续往下运行。常见的异常:数组下标越界除数为零内存溢出文件找不到等。3运行机制:当一个方法在运行时发生异常时,将产生相应类型的一个异常对象、中止代码继续往下运行并寻找相应的异常处理代码。异常处理:1判断异常类型2产生对象3捕获处理异常4异常对象记录着这个异常的一些描述和状态信息。方法运行失败时,记录这个异常信息的异常对象将产生(或称为引发,抛出,throw),它有两种引发方式:1系统自动引发2在程序中由throw语句引发异常对象引发后,系统根据异常对象的类型,首

3、先在当前方法寻找相应的异常处理代码,找到后就将控制流转入该异常处理代码并向其传递异常对象(称为捕获该异常,catch),异常处理代码可以根据接受到的异常对象进行相应的处理;5寻找相应的异常处理代码的过程:当前方法直接或间接调用者找到,传递异常对象并进行异常处理没有找到,调用默认的异常处理程序,中止当前线程6举例(没有异常处理的情况)1)classExceptionDivideBy0{2)staticvoidmethod(){intx=0,z=10;inty=10/x;System.out.println("z="

4、+z);}publicstaticvoidmain(String[]args){method();System.out.println("Aftermethod.");}11)}7Exceptioninthread"main"java.lang.ArithmeticException:/byzeroatExceptionDivideBy0.method(ExceptionDivideBy0.java:4)atExceptionDivideBy0.main(ExceptionDivideBy0.java:8)Pre

5、ssanykeytocontinue...8具有异常处理的情况classExceptionDivideBy0{staticvoidmethod(){intx=0,z=10;try{inty=10/x;System.out.println("z="+z);}catch(ArithmeticExceptione){System.out.println("ArithmeticException");}System.out.println("Aftertry/catchblocks.");}publicstaticvoi

6、dmain(String[]args){method();System.out.println("Aftermethod.");}}9ArithmeticExceptionAftertry/catchblocks.Aftermethod.10每个异常由类Throwable或者它的一个子类的实例表示,这样的对象可被抛出并能被传递给合适的异常处理代码处理。Throwable类及其子类统称为异常类,每个异常类表示一种异常类型。Throwable类是Object类的直接子类,其本身又有两个直接子类:Error与Excep

7、tion类。RuntimeException类是Exception类的直接子类,如图8-1所示。这里,Error类、RuntimeException类和Exception类分别代表某一类异常类型:8.1异常分类11图8-1异常类型及其分类12(1)Error类及其子类:表示灾难性的、普通程序很难恢复的异常,例如:●NoClassDefFoundError(类定义没找到异常):JVM无法找到相应的class文件。●OutOfMemoryError(内存越界异常):JVM没有足够的存储空间满足对象创建的要求。●NoS

8、uchMethodError(调用不存在的方法异常):在改变某个方法的签名后,原先要调用该方法的应用程序,在运行时就会抛出该异常。一般情况下,程序员可不必理会这类异常,它们虽然很严重,但很少发生。13(2)RuntimeException类及其子类:表示设计或实现方面的问题,例如:●ArithmeticException(算术运算异常):算术运算时发生的异常情况,如整数相

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

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

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