java ——异常.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java ——异常

第六章 异常处理与匿名类 7.1 异常处理 7.2 内部类与匿名类 异常处理 1 异常与异常类 2 异常类结构与组成 3 Exception类中的常用方法 4 系统定义的运行异常 5 抛出异常 6 捕捉异常 1 异常与异常类 异常(Exception)又称为错误、例外。是 封装了错误信息的对象。 该对象可以由JVM产生、捕捉和处理。 异常与其他语言要素一样,是面向对象规范的一部分,是异常类的对象。 异常的表现 异常的表现 死机 数组越界 除0 空指针引用 文件未发现 网络忙 打印机缺纸 等等…… 2 异常与异常类 (1)Java异常类层次结构 (2)异常类定义解释 Throwable类 是类库java.lang包中的一个类,它派生了两个子类:Exception和Error。 Error类由系统保留,Exception类供应用程序使用。 Exception类的构造函数 public Exception( ); public Exception( String s ); 第二个构造函数可以接受字符串参数传入的信息,该信息通常是对该异常所对应的错误的描述。 Exception类的常用方法 public String toString ( ) toString ( )方法返回描述当前Exception类信息的字符串。 public void printStackTrace ( ) 打印输出当前异常对象的堆栈使用轨迹 public String getMessage() 打印错误信息 3 Java系统异常机制步骤 1、抛出异常 2、捕捉异常 3、处理异常 (1) 抛出异常 Java程序在运行时如果引发了一个可识别的错误,就会产生一个与该错误相对应的异常类的对象,这个过程被称为异常的抛出。 根据异常类的不同,抛出异常的方法也不同。 系统自动抛出的异常 语句抛出的异常 (2)抛出异常 系统自动抛出的异常 所有的系统定义的运行异常都可以由系统自动抛出。 语句抛出的异常 用户程序定义的异常不能自动抛出,须借助于throw语句来定义何种情况产生了异常,并抛出这个异常类的新对象。 (2)抛出异常 捕捉处理异常的一般格式 try { //有异常抛出的语句组; }catch ( 异常类名 异常对象形参){ //异常处理语句组; } finally{ // } (2)抛出异常 用throw语句抛出异常对象的语法格式 修饰符 返回类型 方法名 (参数列表) throws 异常类列表 { //…… throw 异常对象; //…… } (3)捕捉异常 捕捉异常 当一个异常被抛出时,有专门的语句来接收这个被抛出的异常对象,这个过程被称为捕捉异常。 当一个异常类的对象被捕捉或接收后,用户程序就会发生流程的跳转,系统中止当前的流程而跳转至专门的异常处理语句块,或直接跳出当前程序和Java虚拟机回到操作系统。 (3)捕捉异常 异常对象是依靠以catch语句为标志的异常处理语句块来捕捉和处理的。 异常处理语句块(又称catch语句块)的格式 catch (异常类名 异常对象形参) { //异常处理语句组; } (3)捕捉异常 每个catch语句块都应该与一个try语句块相对应。 try语句块用来启动Java的异常处理机制,可能抛出异常的语句,包括throw语句、调用可能抛出异常方法的方法调用语句,都应该包含在这个try语句块中。 (3)捕捉异常 多异常的处理 一个try块可能产生多种不同的异常,如果希望能采取不同的方法来处理这些异常,就需要使用多异常处理机制。 多异常处理是通过在一个try块后面定义若干个catch块来实现的,每个catch块用来接收和处理一种特定的异常对象,每个catch块都有一个异常对象作为参数。 (3)捕捉异常 多异常的处理一般格式 try{ //有异常抛出的语句组; } catch ( 异常类名1 异常形式参数名1){ //异常处理语句组1; } catch ( 异常类名2 异常形式参数名2){ //异常处理语句组2; } finally{ //无论有否异常,都应被执行的语句组; } (3)捕捉异常 当try块抛出一个异常时,程序的流程首先转向第一个catch块,并审查当前异常对象可否为这个catch块所接收。 如果try块产生的异常对象被一个catch块所接收,则程序的流程将直接跳转到这个catch语句块中,语句块执行完毕后,执行finally块(

文档评论(0)

mydoc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档