在weblogic服务器的上下文中,关于“避免捕获throwable”的良好文档

时间:2010-05-10 15:01:43

标签: java api exception weblogic throwable

我目前正在重构现有的代码库(EJB)以删除在EJB内部捕获Throwable的所有块。

try {
    ... do some business logic
} catch(Throwable t){
    ... log and swallow ... :-(
}

我希望/需要用适当的文档说服我周围的人“抓住Throwable”对于EJB来说是不行的(我们有很多关于此的讨论)。 Weblogic将处理所有“错误”条件,并可能使EJB无效并将新的(工作)EJB放入池中。捕捉Throwable会破坏weblogic提供的所有这些安全网,并且捕捉Throwable无论如何都是不好的做法(但是这里的人不情愿并且到处使用“Throwable”锤子)。

是否有人能够指出我解释此行为的一些在线文档(对于weblogic,jboss等)。我通过谷歌搜索了一下weblogic文档,但是找不到任何东西,只是通用的java文档。

2 个答案:

答案 0 :(得分:4)

  1. 为团队中的每位成员购买Effective Java, Second Edition by Joshua Bloch的副本。

  2. 让大家阅读第9章“例外”,其中包括:

    • “仅在例外条件下使用例外”
    • “对可恢复条件使用已检查的异常,并为编程错误使用运行时异常”
    • “避免不必要地使用已检查的例外”
    • “赞成使用标准例外”
    • “抛出适合抽象的例外”
    • “记录每种方法抛出的所有异常”
    • “在详细消息中包含故障捕获信息”
    • “争取失败的原子性”
    • “不要忽视例外”

答案 1 :(得分:2)

他们说,证据就在布丁中。

编写一个小例子,除了抛出不同类型的异常(运行时,错误)之外什么都不做,并证明你的容器正常处理它们。

这将阻止批评者死在他们的轨道上。