1、 目目 录录 一 引言 . 1 二 关于 JDK 和 Java 异常 . 2 (一)Java 异常定义 2 (二)Java 中的异常类 . 2 (三)Java 语言规范对异常处理的要求 . 4 三 Java 异常的处理机制 4 (一)Java 异常处理机制具体实现 . 4 (二)Java 中异常发生的原因 . 6 (三)Java 异常处理的优点 . 6 四 Java 异常处理技术及其应用 8 (一)抛出异常 8 (二)捕获异常 8 (三)堆栈帧 9 (四)自定义异常 . 11 (五)关于图形界面程序的异常捕获 12 五 Java 异常处理基本原则 . 14 (一)不要忽略已检查型异常 . 14
2、 (二)不要一次捕获所有的异常. 15 (三)使用 finally 块释放资源. 16 (四)异常不能影响对象的状态. 17 (五)注意丢失(或忽略)的异常. 17 (六)不要同时使用异常机制和返回值来处理异常 20 (七)不要让 try 块过于庞大 . 21 六 结束语 21 致谢 21 参考文献 21 附录、源代码 22 1 基于基于JavaJava的异常处理技术及其应用的异常处理技术及其应用 摘摘 要要 本文以Java软件开发工具箱JDK1.5.0作为环境,通过与一些编程语言的错误 处理相比较,介绍了Java中异常处理技术的由来、定义、规范和Java内建的异常类,讨论 了Java中异常产
3、生的原因、实现,还对Java异常处理机制的优点进行了简述,就Java异常 处理技术从抛出异常、捕获异常、堆栈帧、自定义异常、图形界面程序异常捕获五个方面 进行了讨论。本文还就Java异常处理技术的应用做了一些探讨,试图从软件开发者的角度 说明Java异常处理技术在开发中一些有价值的应用。 关键词 Java语言 Java异常处理 JVM 一 引言 在程序设计中,尽管编写检查和处理错误的程序代码很乏味,并且它们使程序源代码 显得冗长,但是,错误检测和处理仍是任何健壮应用程序最重要的组成部分之一。传统的 异常处理多采用返回值来标识程序中出现的异常情况,这是程序员熟悉的一种方式,但却 有很多缺点。首先
4、,一个 API(Application Programming Interface 应用编程接口)可以 返回任意的返回值,而这些返回值本身并不能解释是否代表一个异常情况发生或者发生异 常的具体情况,需要调用 API 的程序自己判断并解释返回值的含义。其次,它并没有一种机 制来保证异常情况一定会得到处理,调用程序可以简单地忽略该返回值,从而需要调用 API 的程序员记住去检测返回值并处理异常情况。这种方式还让程序代码变得晦涩冗长, 当进 行容易出现异常情况的处理时,比如:I/O 操作,程序中会出现很大的部分用于处理异常情 况的 switch 分支,程序代码的可读性变得很差。 相对于传统异常处理方式的缺点,Java异常处理机制提供了很好的解决方案。 Java异常 处理使开发人员不用编写特殊代码检测返回值就能够很容易地检测错误,并且把异常处理 代码和异常产生代码明确地分开,通过抛出Java预定义或者自定义的异常,能够表明程序 中出现了什么样的异常情况 1 ;而且Java的语言机制保证了异常一定会得到恰当的处理, 合理地使用异常处理机制,会让程序代码更清晰。 2 二