【发布时间】:2008-12-04 14:23:32
【问题描述】:
我正在编写一些代码,我注意到异常处理中的一个模式让我思考:
try{
// do stuff... throws JMS, Create and NamingException
} catch (NamingException e) {
log1(e);
rollback();
doSomething(e)
} catch (CreateException e) {
log1(e);
rollback();
doSomething(e)
}
JMSException 将处理堆栈中的某些位置。
是不是直接写:
try{
// do stuff... throws JMS, Create and NamingException
} catch Exception[NamingException, CreateException] e) {
log1(e);
rollback();
doSomething(e)
}
而不是把它放在一个辅助方法中:
try{
// do stuff... throws JMS, Create and NamingException
} catch (NamingException e) {
helper_handleError1(e)
} catch (CreateException e) {
helper_handleError1(e)
}
请注意,我想传播原始 JMSException 的堆栈跟踪,并且我不“感觉”使用第三个 catch 子句创建新的 JMSException :)
有什么困难吗?这是一个只会污染 Java 语法的极端情况,还是只是一个很酷的东西?
【问题讨论】:
标签: java programming-languages exception-handling