读书人

自定义异常设计应遵循什么原则?

发布时间: 2014-01-26 14:35:36 作者: rapoo

对于一个异常,通常异常的类型对我们更有意义

那在struts中设计自定义异常时,只从Exception类简单继承一下,派生多个不同名字的异常,这样在action中根据捕获的不同异常类型进行相应的处理

这样做对吗?还应注意哪些问题或应遵循什么样的原则?

------解决方法--------------------------------------------------------
设计自定义异常,是为了对系统抛出的异常进行隐藏,
对抛出的 异常进行包装,然后把自己的异常抛出,
不但对异常进行了处理,也不影响程序的“正常”执行(指对异常的进一步处理)。

自定义异常,必须继承系统可以捕捉到异常的子类或者接口。

这样,才能保证,自己的异常,可以被处理掉。就是被捕捉到。

还有,一般的系统,你可以定义一个异常接口,然后其他的异常可以是这个接口的子类,

那么,对于程序,就可以体现“面向接口编程”的思想。

------解决方法--------------------------------------------------------
commons-lang的NetestableRuntimeException,NetestableException蛮好用的,自定义异常继承或参考它们实现较好,已经实现了异常嵌套。简单继承一下就可以了,你的看法是对的,重要的是异常的类型。
系统异常,一般为unchecked exception(RuntimeException的子类),在系统框架最高层统一处理。
业务异常,应为checked Exception,强迫调用者捕获。

        

读书人网 >Java Exception

热点推荐