欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《Java异常处理》PPT课件.ppt

    • 资源ID:5452775       资源大小:1.29MB        全文页数:25页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《Java异常处理》PPT课件.ppt

    邯郸学院计算机系 张延军,第四章 Java异常处理,教学目标,4.1 Exception的概念、子类及其继承关系4.2 面向对象的异常处理机制4.3 创建自定义异常,教学目标,4.1 Exception的概念、子类及其继承关系 4.1.1 Exception的概念 4.1.2 Exception的分类 4.1.3 Exception的继承关系和层次 4.1.4 方法调用堆栈4.2 面向对象的异常处理机制 4.2.1 异常处理语句(try-catch-finally)4.2.2 在方法首部用throws抛出异常 4.2.3 在方法体中用throw手工抛出异常 4.2.4 程序示例4.3 自定义异常,引言,在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。以面向过程语言C语言为例,一般通过使用if语句来判断是否出现了错误,同时,调用函数通过被调用函数的返回值感知在被调用函数中产生的错误事件并进行处理。没有错误处理的程序:openTheFile;determine its size;allocate that much memory;read-file closeTheFile;,引言,openFiles;if(theFilesOpen)determine the length of the file;if(gotTheFileLength)allocate that much memory;if(gotEnoughMemory)read the file into memory;if(readFailed)errorCode=-1;else errorCode=-2;else errorCode=-3;else errorCode=-4;else errorCode=-5;,try openTheFile;determine its size;allocate that much memory;read-File;closeTheFile;catch(fileopenFailed)dosomething;catch(sizeDetermineFailed)dosomething;catch(memoryAllocateFailed)dosomething;catch(readFailed)dosomething;catch(fileCloseFailed)dosomething;finally dosomething;,面向过程和面向对象异常处理机制对比,4.1.1 Exception的概念,异常(Exception)是指程序运行过程中出现的可能发生会打断程序正常执行的事件或现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界、内存不足等。为了加强程序的鲁棒性(Robust),程序设计时,必须考虑到可能发生的异常(Abnormal)事件并做出相应的处理。Java提供了功能强大的面向对象异常处理机制,可以方便地在程序中监视可能发生异常的程序块,并将所有异常处理的代码集中放置在程序某处,使完成正常功能的程序代码与进行异常处理的程序代码分开,便于程序的阅读、修改和维护。,4.1.1 Exception的概念,在Java中将异常情况分为Error 和Exception两大类。Error类:指较少发生的内部系统错误,由JVM生成并抛出,包括动态链接失败、JVM内部错误、资源耗尽等严重情况,程序员无能为力,只能让程序终止。Exception类:解决由程序本身及环境所产生的异常,有补救或控制的可能,程序员也可预先防范。,4.1.1 Exception的概念,Throwable类:具体请参考帮助文档。构造方法:Throwable()构造方法:Throwable(String message)String toString():返回形如“classname”“getMessage()”的信息。String getMessage():返回有关异常事件的信息。String getLocalizedMessage()void printStackTrace():用来跟踪异常事件发生时的执行堆栈的内容void printStackTrace(PrintStreams)void printStackTrace(PrintWriter s)Throwable fillInStackTrace(),4.1.2 Exception的分类,Java语言中Exception可以分为:检查性异常(Checked Exception):一般程序中可预知的问题,其产生的例外可能会带来意想不到的结果,因此Java编译器要求Java程序必须捕获或声明所有的非运行时异常必须进行异常处理,否则编译不能通过。例如以IOException为代表的一些类如FileNotFoundException、用户连接数据库时产生的SQLException等。非检查性异常(Unchecked Exception):以RuntimeException为代表的一些类,编译时发现不了,只在能运行时才能发现。Runtime Exception:Java虚拟机在运行时生成的例外,如被0除等系统错误、数组下标超范围等,其产生比较频繁,处理麻烦,对程序可读性和运行效率影响不太大。因此由系统检测,用户可不做处理,系统将它们交给缺省的异常处理程序(当然,必要时,用户可对其处理)。,ClassNotFoundException ClassNotSupportedException IllegalAccessException IntantiationException InterruptedException NoSuchMethodException RuntimeException ArithmeticException ArrayStoreException IllegalArgumentException IllegalThreadStateException NumberFormatException IndexOutOfBoundsException ArrayIndexOutOfBoundsException StringIndexOutBoundsException Negative ArraySizeException NullPointerException SecurityException,4.1.2 Exception的分类,4.1.2 Exception的分类,Java程序异常处理的原则:对于Error和RuntimeException,可以在程序中进行捕获和处理,但不是必须的。对于IOException及其他异常,必须在程序进行捕获和处理,否则,程序不能通过编译。异常处理机制主要处理检查性异常。我们可以从JDK帮助文档中查找一个方法可能抛出的异常,然后有针对性的处理。例程:ZeroExceptionTest.java例程:TestIOExcption1.java说明:从当前文件夹文本文件test1.txt读出内容,输出到屏幕上。由于没有检测异常FileNotFoundException和IOException并做出处理,编译不能通过。,4.1.4 方法调用堆栈,例程:codeMethodCallTest.java01 public class Test02 int arr=new int3;03 public static void main(String args)04 new Test().methodOne();05 System.out.println(main);06 07 public void methodOne()08 methodTwo();09 System.out.println(One);10 11 public void methodTwo()12 methodThree();13 System.out.println(Two);14 15 public void methodThree()16 System.out.println(arr3);17 System.out.println(Three);18 19,4.1.4 方法调用堆栈,Exception in thread main java.lang.ArrayIndexOutOfBoundsException:5at Sample.methodThree(Sample.java:17)at Sample.methodTwo(Sample.java:13)at Sample.methodOne(Sample.java:9)at Sample.main(Sample.java:5)Press any key to continue.,methiodThree(),methiodTwo(),methiodOne(),main(),教学目标,4.1 Exception的概念、子类及其继承关系 4.1.1 Exception的概念 4.1.2 Exception的分类 4.1.3 Exception的继承关系和层次 4.1.4 方法调用堆栈4.2 面向对象的异常处理机制 4.2.1 异常处理语句(try-catch-finally)4.2.2 在方法首部用throws抛出异常 4.2.3 在方法体中用throw手工抛出异常 4.2.4 程序示例4.3 自定义异常,4.2 面向对象的异常处理机制,异常处理的方法:使用trycatchfinally结构对异常进行捕获和处理。在方法声明首部用throws声明抛出异常:JVM将类载入内存,调用main()类的入口方法,main()方法调用其它方法。异常处理机制采用谁调用,谁就负责处理被调用方法抛出的异常。在方法体中用throw手工抛出异常。,4.2.1 异常处理语句(try-catch-finally),1.trycatchfinally结构语法格式:try./code that might generate exceptioncatch(type1 id1)./handle exception of type1catch(type2 id2)./handle exception of type2finally/activities that happen every time,4.2.1 异常处理语句(try-catch-finally),finally的语句块无论异常是否发生都要执行,是trycatch的统一出口,一般用来处理“善后处理”,例如释放资源,关闭使用完的文件等。一个try语句块可对应多个catch块,用于对多个异常类进行捕获。如果要捕获的异常类之间有父子继承关系时,应该将子类的catch块放置在父类的catch块之前。例程:TestIOExcption2.java说明:使用try.catchfinally结构处理异常。,4.2.1 异常处理语句(try-catch-finally),4.2.2 在方法首部用throws声明抛出异常,2.throws声明抛出异常:如果一个方法没有捕获可能引发的异常,调用该方法的其他方法应该捕获并处理该异常。这就需要声明方法的时候,使用throws选项,以抛出该异常。语法格式:()throws Exception 例程:TestIOExcption3.java说明:在main()方法定义首部声明抛出异常FileNotFoundException,IOException,谁调用谁处理。例程:TestIOExcption4.java说明:将功能进行划分,main()只负责测试,readFile()负责从指定文件中读出内容并输出到方法定义时抛出异常。FileNotFoundException,IOException,谁调用谁处理,这里main()调用readFile()。,4.2.3 在方法体中用throw手工抛出异常,3.throw抛出异常,可以是系统定义的异常,也可以是用户自定义的异常。语法格式:throw new(实参表),教学目标,4.1 Exception的概念、子类及其继承关系 4.1.1 Exception的概念 4.1.2 Exception的分类 4.1.3 Exception的继承关系和层次 4.1.4 方法调用堆栈4.2 面向对象的异常处理机制 4.2.1 异常处理语句(try-catch-finally)4.2.2 在方法首部用throws抛出异常 4.2.3 在方法体中用throw手工抛出异常 4.2.4 程序示例4.3 自定义异常,4.3 创建自定义异常,Java语言允许用户在需要时创建自己的异常类型,用于表述JDK中未包括的其他异常情况。这些类型必须继承Thowable或其子类,一般继承Exception类。依据命名惯例,应以Exception结尾。class MyException extends Exceptionprivate int idnumber;/覆盖MyException默认的构造方法public MyException(String message,int id)super(message);/调用父类的构造方法。this.idnumber=id;public int getId()return idnumber;,4.3 创建自定义异常,用户自定义异常未被加入JRE的控制逻辑中,因此永远不会自动抛出,只能由手工创建并抛出,请查阅JDK文档Exception类的内容。语法格式:throw new(实参表),4.3 创建自定义异常,例程:ThrowTest.java功能:本程序演示用户自定义异常和人工抛出异常。,回顾本章内容,4.1 Exception的概念、子类及其继承关系 4.1.1 Exception的概念 4.1.2 Exception的分类 4.1.3 Exception的继承关系和层次 4.1.4 方法调用堆栈4.2 面向对象的异常处理机制 4.2.1 异常处理语句(try-catch-finally)4.2.2 在方法首部用throws抛出异常 4.2.3 在方法体中用throw手工抛出异常 4.2.4 程序示例4.3 自定义异常,

    注意事项

    本文(《Java异常处理》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开