《Java程序设计》课程教学课件(PPT讲稿)05 Java异常处理

Java 2007 Java 异常处理

Java 2007 异常 基本概念 程序中的错误: 编译错误 由于所编写的程序存在语法问题,未能通 过由源代码到目标代码的编译过程而产生的错 误。它将由语言的编译系统负责检测和报告。 运行错误 在程序的运行过程中产生的错误

Java 2007 异常是在程序运行中导致程序终止运行的事件。 如要求程序执行以零为除数的除法,要求程序访问 数组下标范围以外的数组元素,要求访问空对象内 的信息或文件找不到等。为了加强程序的健壮性我 们希望发生了错误之后,能将程序从出错状态转移 到一个安全状态,使得系统能够恢复控制权。或者 正常的结束程序的运行并保存数据。Java处理异常 的核心任务是将系统的控制权从发生错误的指令处 转移到错误处理的地方。 可见,一个好的应用程序,除了具备用户要求的功能 外,还要求能预见程序执行过程中可能产生的各种异常, 并把处理异常的功能包括在用户程序中

Java 2007 Java进行异常处理的大致过程 在Java中,是用面向对象的方法来处理异常的。在一 个方法的运行过程中,如果发生了异常,则这个方法生成 代表该异常的一个对象,并把它交给运行时系统,运行时 系统寻找相应的代码来处理这一异常。我们把生成异常对 象并交给运行时系统的过程称为抛出一个异常(throw)。 运行时系统在方法的调用栈中查找,从生成异常的方法开 始回溯,直到找到包含相应异常处理的代码为止,这一过 程称为捕获一个异常(catch)(如果没有找到相应异常处 理的方法,则运行时系统将终止程序的运行)

Java 2007 程序: . 方法i{ . } . Runtime Environment 处理异常的方法 抛出异常 捕获异常 异常对象 程序:

Java 2007 发现异常 自行处理 必须解决 自行解决 或将其抛 出。 发现异常 不自行解 决,将其 抛出。 a b c d 如果一个方法本身能抛出异常,当所调用的方法出 现异常时,调用者可以捕获异常使之得到处理;也可以 回避异常,这时异常将在调用的堆栈中向下传递,直到 被处理

Java 2007 Java异常处理机制的优点 ➢ 异常错误处理代码与代码分离; ➢ 异常处理把错误报告给方法调用堆栈; ➢ 异常处理把错误按类型分类; ➢ 由于把异常事件当成对象来处理,利用类的层次 性我们可以把多个具有相同父类的异常统一处理, 也可以区分成不同的异常分别处理,非常灵活

Java 2007 Throwable类及其子类 Object Throwable Error Exception AWTException . IOException RuntimeException

Java 2007 ➢ 类Throwable位于异常处理类层次的最顶层,只有它的后 代可以作为一个异常被抛出; ➢ 类Throwable有两个直接子类:Error和Exception。其中: ✓ Error类对象由JVM抛出,如系统内部错误或资源短 缺等,所以不必对这类异常进行处理; ✓ Exception类对象由Java程序抛出并处理。它有各种不 同的子类分别对应于不同类型的异常,其中 • 类RuntimeException的对象代表运行时由JVM生成 的异常,如ArithmeticException、 ArrayIndexOutOfBoundsException异常等。 • 其它则为非运行时异常,如IOException等。 Exception 类对象由应用程序处理或抛出。另外Java 编译器要求Java程序必须捕获或声明所有非运行时异常

Java 2007 Exception 类的主要方法 ➢ public Exception( ); ➢ public Exception(String s); ➢ public String toString( ); ➢ public String getMessage( ); //返回描述异常的详细信息
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象5-面向对象特征(3/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象4-面向对象特征(2/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象3-面向对象特征(1/3).pptx
- 清华大学出版社:《计算机操作系统教程》习题解答与实验指导(教材PDF电子版,第2版,编著:张尧学).pdf
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(答案).doc
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(题目).doc
- 《汇编语言与接口技术》课程教学资源(PPT课件)第7章 串并行接口技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第8章 中断和DMA技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第5章 软件接口技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第6章 存储器技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第2章 80x86微处理器.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第4章 80x86汇编语言程序设计.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第1章 微型计算机概述.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第3章 80x86指令系统和寻址方式.ppt
- 《汇编语言与接口技术》课程教学大纲 Assembly Language and Interface Technology.doc
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第6章 应用层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第5章 运输层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第7章 网络安全.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第4章 网络层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第3章 数据链路层.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)06 Java文件输入输出.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)07 Java线程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)08 Java网络编程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(1/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(2/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)0 1Java概述.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)02 Java程序设计基础1—运算符和表达式.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)03 Java程序设计基础2—数组.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)03 Java程序设计基础3—程序流程控制.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象1-软件开发周期简介.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象2-面向对象程序设计基础.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)Coding_Standard_Java.pptx
- 《数据结构》课程教学大纲 Data Structure.doc
- 《数据结构》课程教学课件(PPT讲稿)第一章 绪论.ppt
- 《数据结构》课程教学课件(PPT讲稿)第三章 栈和队列.ppt
- 《Java基础入门》课程电子教案(PPT教学课件)第1章 Java开发入门.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第2章 Java编程基础.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第3章 面向对象(上).pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第4章 面向对象(下).pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第5章 异常.pptx
