java - 酷还是傻?捕捉(异常[NamingException,CreateException] e)

标签 java programming-languages exception-handling

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

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 7 扩展这种类型。

参见:http://tech.puredanger.com/java7#catch

关于java - 酷还是傻?捕捉(异常[NamingException,CreateException] e),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/340748/

相关文章:

Java: "long"数字占用多少内存?

programming-languages - 使用 return 结束函数被认为是一种不好的做法?

scala - 随着时间的推移,Scala 删除了哪些语法选项/语言特性(以及为什么)?

wcf - "Configuring Services with Endpoints"演示对我来说失败 (Microsoft/endpoint.tv/Pluralsight)

android - 如何将 “mapping.txt”文件用于Android版本中的调试和错误异常处理程序

java - java中可以随机访问对象吗?

java - Android 中转换为 Dalvik 格式失败并出现错误 Apache poi

java - Spring框架到底有什么用?

programming-languages - 没有 null 的语言的最佳解释

php - 在一个 catch block 中捕获多种异常类型