在WebLogic Server的背景下
题
我目前正在重构现有的代码库(EJB),以撕掉EJB内部可投掷的所有块。
try {
... do some business logic
} catch(Throwable t){
... log and swallow ... :-(
}
我想/需要通过适当的文档说服我周围的人,“捕捉可扔”是EJB的不行(我们对此进行了很多讨论)。 Weblogic将处理所有“错误”条件,并可能使EJB无效,并将新鲜(工作)EJB放入池中。捕捉可掷骰将破坏Weblogic提供的所有这些安全网,无论如何,捕捉可抛弃是不好的做法(但是这里的人们不愿使用“可抛出”锤子,到处都是)。
是否可以将我指向一些在线文档,以解释此行为(用于WebLogic,JBOSS等)。我通过Google进行了搜索,并查看了Weblogic文档,但找不到任何东西,只是通用的Java Doc。
解决方案
他们说,证据在布丁中。
写一个小例子,除了扔出不同种类的异常(运行时,错误),并证明您的容器可以优雅地处理它们。
这将阻止批评家在他们的轨道上死亡。
其他提示
购买 有效的Java,Joshua Bloch的第二版 对于团队中的每个成员。
让每个人都阅读第9章,“异常”,其中涵盖:
- “仅在特殊条件下使用例外”
- “使用检查的例外情况,以获取可回收条件和编程错误的运行时例外情况”
- “避免不必要使用检查例外”
- “赞成使用标准例外”
- “投掷适合抽象的例外”
- “记录所有方法抛出的所有例外”
- “在详细信息中包括失败捕获信息”
- “争取失败原子”
- “不要忽略异常”
不隶属于 StackOverflow