我目前正在重构现有的代码库(EJB),以撕掉EJB内部可投掷的所有块。

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

我想/需要通过适当的文档说服我周围的人,“捕捉可扔”是EJB的不行(我们对此进行了很多讨论)。 Weblogic将处理所有“错误”条件,并可能使EJB无效,并将新鲜(工作)EJB放入池中。捕捉可掷骰将破坏Weblogic提供的所有这些安全网,无论如何,捕捉可抛弃是不好的做法(但是这里的人们不愿使用“可抛出”锤子,到处都是)。

是否可以将我指向一些在线文档,以解释此行为(用于WebLogic,JBOSS等)。我通过Google进行了搜索,并查看了Weblogic文档,但找不到任何东西,只是通用的Java Doc。

有帮助吗?

解决方案

他们说,证据在布丁中。

写一个小例子,除了扔出不同种类的异常(运行时,错误),并证明您的容器可以优雅地处理它们。

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

其他提示

  1. 购买 有效的Java,Joshua Bloch的第二版 对于团队中的每个成员。

  2. 让每个人都阅读第9章,“异常”,其中涵盖:

    • “仅在特殊条件下使用例外”
    • “使用检查的例外情况,以获取可回收条件和编程错误的运行时例外情况”
    • “避免不必要使用检查例外”
    • “赞成使用标准例外”
    • “投掷适合抽象的例外”
    • “记录所有方法抛出的所有例外”
    • “在详细信息中包括失败捕获信息”
    • “争取失败原子”
    • “不要忽略异常”
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top