首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java错误机制和错误处理原则【转】

2012-12-27 
java异常机制和异常处理原则【转】转载自:http://www.java3z.com/cwbwebhome/article/article8/869.html?id

java异常机制和异常处理原则【转】

转载自:http://www.java3z.com/cwbwebhome/article/article8/869.html?id=2310

本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。

一、 异常的概念和Java异常体系结构

异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。

Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Java异常体系结构呈树状,其层次结构图如图 1所示:
java错误机制和错误处理原则【转】图 3 一个应用系统的异常处理框架

在这个设计图中,AppRuntimeException是系统异常的基类,对外只抛出这个异常,这个异常可以由前端(客户端)接收处理,当异常发生时, 客户端的相关组件捕获并处理这些异常,将"友好"的信息展示给客户。

在AppRuntimeException下层,有各种各样的异常和错误,最终都转译为 AppRuntimeException,AppRuntimeException下面还可以设计一些别的子类异常,比如 AppDAOException、OtherException等,这些都根据实际需要灵活处理。在往下就是如何将捕获的原始异常比如 SQLException、HibernateException转换为更高级一点AppDAOException。

有关异常框架设计这方面公认比较好的就是Spring,Spring中的所有异常都可以用 org.springframework.core.NestedRuntimeException来表示,并且该基类继承的是 RuntimeException。Spring框架很庞大,因此设计了很多NestedRuntimeException的子类,还有异常转换的工具, 这些都是非常优秀的设计思想。

六、 Java异常处理总结

回顾全文,总结一下Java异常处理的要点:

1、 异常是程序运行过程过程出现的错误,在Java中用类来描述,用对象来表示具体的异常。Java将其区分为Error与Exception,Error是 程序无力处理的错误,Exception是程序可以处理的错误。异常处理是为了程序的健壮性。
2、 Java异常类来自于Java API定义和用户扩展。通过继承Java API异常类可以实现异常的转译。
3、 异常能处理就处理,不能处理就抛出,最终没有处理的异常JVM会进行处理。
4、 异常可以传播,也可以相互转译,但应该根据需要选择合理的异常转译的方向。
5、 对于一个应用系统,设计一套良好的异常处理体系很重要。这一点在系统设计的时候就应该考虑到。

热点排行