当前位置:  开发笔记 > 编程语言 > 正文

酷还是傻?Catch(异常[NamingException,CreateException] e)

如何解决《酷还是傻?Catch(异常[NamingException,CreateException]e)》经验,为你挑选了1个好方法。

我正在写一些代码,我注意到异常处理中的一个模式让我思考:

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的语法,还是只是添加一个很酷的东西?



1> Darron..:

他们正在考虑为Java 7扩展此类型.

请参阅:http://tech.puredanger.com/java7#catch

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有