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

    《异常专题试讲》PPT课件.ppt

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

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

    《异常专题试讲》PPT课件.ppt

    专题1 Java异常处理,1 异常概述 2 Java异常的处理方法,教学目的 1.了解异常的概念及分类;2.理解Java异常处理机制和异常类;3.掌握try/catch/finally语句处理异常的方式以及如何声明异常;4.了解自定义异常;教学内容:本讲介绍了异常处理。异常是在运行时发生的错误,使用Java的异常处理子系统,就可以用一种结构化的可控方式来处理运行时的错误。Java定义了许多语言特性来处理运行时的错误,也可用自定义的异常程序模块来处理异常。,第一节 异常概述,Java异常是描述在代码段中发生的运行出错情况的对象。程序中的错误可能来自于编译错误和运行错误。编译错误是由于所编写的程序存在语法问题,未能通过由源代码到目标代码的编译过程而产生的错误,它将由语言的编译系统负责检测和报告;运行错误是在程序的运行过程中产生的错误。,1、什么是异常 异常:JAVA把程序运行中遇到的非致命的,通过某种修正后还能继续执行的状态称作异常。2、可以异常产生的几种情况 介绍第一种,Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:表达式的计算违反了Java 语言的语义,例如整数被0 除。在载入或链接Java 程序时出错。超出了某些资源限制,例如使用了太多的内存。,第二种,Java 程序代码中的throw 语句被执行。第三种,异步异常发生。异步异常的原因可能有:Thread 的stop 方法被调用。Java 虚拟机内部错误发生。,3、异常处理机制,Java异常处理是通过5个关键字来管理的。它们是try、catch、throw、throws和finally。程序里,需要被监测的程序语句序列应包含在一个try代码块中。如果try代码块中有异常发生,那么就要抛出该异常;用catch来捕获这个异常,并且在catch块中加以适当地处理。(系统产生的异常会由Java运行时系统自动抛出,如果要手动抛出异常,则使用关键字throw)在一些情况下,从一个方法抛出的异常必须用一个throws语句指定为异常。,4、异常的分类,Java中的异常类具有层次组织,其中Throwable类是Error类(错误类)和Exception类(异常类)的父类,同时Throwable也是Object的直接子类。异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)两种(下图显示了异常类的继承结构):,(一)、执行异常1)什么是执行异常 执行异常:即运行时异常,继承于RuntimeException。Java编译器允许程序不做处理。2)常用的执行异常类介绍ArithmeticException:一个不寻常算术运算产生的异常。ArrayStoreException:存入数组的内容数据类型不一致所产生的异常。ArrayIndexOutOfBoundsException:数组索引超出范围所产生的异常。ClassCastExcption:类对象强迫转换造成不当类对象所产生的异常。,NumberFormatException:字符串转换数值所产生的异常。IndexOutOfBoundsException:索引超出范围所产生的异常。NegativeException:数组建立负值索引所产生的异常。NullPointerException:对象引用参考值为null所产生的异常。(二)、检查异常1)什么是检查异常 检查异常:即除了执行异常外,其余的异常都是检查异常也称为非运行时异常,它们都在java.lang类库内定义。Java编译器要求程序必须捕获或者声明抛弃这种异常。,2)常用的检查异常类介绍ClassNotFoundException:找不到类或接口所产生的异常。CloneNotSupportedException:使用对象的clone方法但无法执行Cloneable所产生的异常。IllegaAccessException:类定义不明确所产生的异常。InstantiationException:使用newInstance方法试图建立一个类instance时所产生的异常。InterruptedException:目前线程等待执行,另一线程中断目前线程所产生的异常。,5、错误概述,一、什么是错误 错误:JAVA把程序运行中遇到的致命的,非常严重的,不能简单恢复执行的状态称为错误。二、JAVA提供的常用错误类介绍 Error类与异常一样,它们都是继承自类。Error 类对象由 Java 虚拟机生成并抛出。Error类包括linkageError(结合错误)与VitualmachineError(虚拟机错误)两个子类。,1)linkageError子类简介ClassFormarError:类格式所产生的错误。ClassCircularityError:无限循所产生的错误。ExceptionInInitializerError:初始化所产生的错误。NoClassDeFormatError:没有类定义所产生的错误。VeritfyError:类文件某些数据不一致或安全问题所产生的错误。UnsatisfidLinkError:Java虚拟机无法找到合适的原始语言(native-language)定义的方法所产生的错误。IncompatibleClassChangeError:不兼容类所产生的错误。,AbtractMethodError:调用抽象方法所产生的错误。NoSuchFieldError:存取或改变数据域所产生的错误。NoSchMethodError:调用类方法所产生的错误。IllegalAccessError:不合法存取或改变数据域或调用方法所产生的错误。InstantionError:使用抽象类或接口所产生的错误。,2)VitualmachineError子类简介 当Java虚拟机崩溃了或用尽了它继续操作所需的资源时,抛出该错误。VitualmachineError包含以下类:InternalError:虚拟机内部所产生的错误。OutOfMemoryError:虚拟机内存不足所产生的错误。StackOverflowError:堆栈无法容纳所产生的错误。UnknownError:虚拟机不知名异常所产生的错误。,第二节 Java异常的处理机制,一、异常处理方法 java中对异常的处理方法有两种 通过使用trycatch()语句处理一异常,它捕获被命名为属于异常类的异常,并调用方法处理它。通过使用throw语句处理一异常。(使用throws子句标记方法的声明如下所示:public void troublesome()throws Exception其中,关键字throws之后是所有异常的列表,方法可以将它们抛回到它的调用程序中。),1)try/catch 语句 try/catch异常处理代码块的基本形式如下:try/监视 可能发生异常的代码块;catch(异常类型 异常对象名)/捕获并处理异常 异常处理代码块;,二、异常处理语句 1 try/catch/finally,当抛出一个异常时,异常会由相应的catch语句捕获并处理。与一个try相关的catch语句可以有多个,构成多重catch 语句,异常类型决定了要执行哪个catch语句。如果没有抛出异常,那么try代码块就会结束,并且会跳过它的所有catch语句,从最后一个catch后面的第一个语句继续执行。,public class ExceptionExam0 public static void main(String args)int i,a;try/监视一代码块 i=0;a=42/i;return;catch(ArithmeticException e)/捕获一个被零除异常(被零除);,例1使用try/catch进行异常处理的情况。,例1运行结果如图所示,2)可嵌入的try语句,一个try代码块可以嵌入到另一个try代码块当中。由于内部try代码块产生的异常如果没有被与该内部try代码块相关的catch捕获,就会传到外部try代码块。通常嵌入式try代码块用于以不同方式处理不同类型的错误。某些类型的错误是致命的,无法修改。某些错误则较轻,可以马上处理。许多程序员在使用外部try代码块捕获大部分严重错误的同时,让内部try代码处理不太严重的错误。,3)多重catch 语句,与一个try相关的catch语句可以有多个。每一个catch语句捕获一个不同类型的异常。某些情况,由单个代码段可能引起多个异常。处理这种情况时就需要定义两个或更多的catch子句,每个子句捕获一种类型的异常。当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句被执行。当一个catch语句执行以后,其他的子句被忽略,程序从try/catch块后的代码开始继续执行。,public class ExceptionExam3 public static void main(String args)try int i=args.length;System.out.println(i=+i);int j=5/i;int k=1,2,3;k5=0;,例2 捕获两种不同类型的异常。,catch(ArithmeticException e)(被零除:+e);catch(ArrayIndexOutOfBoundsException e)System.out.println(Array index out of bound exception:+e);(执行catch块后的语句块);,例2 运行结果如图所示,try/catch/finally的基本形式如下所示:try 可能发生异常的代码块;catch(异常类型 异常对象名)异常处理代码块;finally无论是否抛出异常都要执行的代码;无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行finally定义的最后的代码。,4)Finally语句,public class ExceptionExam4public static void main(String args)try int a=new int3;a2=4;return;catch(ArithmeticException e)(发生了异常);finally(最后执行的语句!);,例3 finally的示例,例3 运行结果如图所示,2、异常抛弃声明语句(throws),声明抛弃异常是在一个方法声明中的throws子句中指明的。下面是包含throws子句的方法的基本形式:修饰符 返回类型 方法名(参数1,参数2,)throws 异常列表 例如:public int read()throws IOException;public static void main(String args)throws IOException,IndexOutOfBoundsException throws子句中同时可以指明多个异常,说明该方法将不对这些异常进行处理,而是声明抛弃它们。,3、抛出异常语句(throw),手动抛弃异常对象是通过throw语句实现的,但可以抛弃的异常必须是Throwable或其子类的实例。其基本形式如下:throw 异常名;throw关键字主要是用在try块中,用来说明已经发生的异常情况。throw关键字后面跟随一个从类Throwable中派生的异常对象,用来说明发出的异常类型。throw语句促使程序立即停止运行,并且重复执行最近能够处理指定对象的catch语句。,如果异常在程序的其他地方产生,throw语句也可以放在try语句的后面。(为了把异常处理控制传递给更高层的处理模块,还可以对截获的异常对象再一次实施throw操作。)注意:如果方法中用throw语句抛出了异常,那么在方法定义的首部必须用throws声明将要抛出的异常。反之即使在方法定义的首部用throws声明了将要抛出异常,那么在方法体内也可以不用throw来抛出异常。,import java.io.*;public class ExceptionExam6 public static void main(String args)try(正在运行程序);throw new IOException(用户自行产生异常);catch(IOException e)(已捕获了该异常!);,例4 使用throw关键字手动抛出IOException异常。,例4 运行结果如图所示,三、自定义Java异常,若要建立自己的异常类型,只要定义Exception的一个子类就可以了,子类不需要实际执行什么它们在类型系统中的存在允许把它们当成异常使用。自定义异常的基本形式如下所示:class 自定义异常 extends 父异常类名 类体;,class ExceptionExam7_1 extends Exception/自定义异常类ExceptionExam7_1 private int show;ExceptionExam7_1(int a)show=a;public String toString()return ExceptionExam7_1;public class ExceptionExam7 static void caculate(int a)throws ExceptionExam7_1(对+a+已经进行过相应的操作);if(a100)throw new ExceptionExam7_1(a);,例5 自定义异常示例,(执行该算法正常退出!);public static void main(String args)try caculate(1);caculate(1000);catch(ExceptionExam7_1 e)(捕获了异常+e);,自定义异常示例续,例5 运行结果如图所示,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开