我在短短一个多小时内就完成了编码标准会议,我需要快速回答这个问题.
有经验的Java程序员之间的共同点是你不会抛出或捕获java.lang.Exception(除了极少数例外 - 没有双关语意).你不这样做的原因是声明
catch (java.lang.Exception ex) {...}
Run Code Online (Sandbox Code Playgroud)
也将捕获未经检查的异常,并且在大多数情况下,这不是预期的.
我们已经有很多遗留代码由现有团队成员编写,他们捕获java.lang.Exception的子类,记录错误,并将子类重新抛出为java.lang.Exception.
我需要说服他们
2号意味着相当数量的重构.
这将缩短参数会上,如果我可以显示通过Java社区的重量级人物,使这个点(即约书亚·布洛克,詹姆斯·高斯林)之一的一篇文章或博客条目.到目前为止,我的google-fu还没有找到任何东西.
有没有人知道一个受人尊敬的Java大师的文章或博客说你不应该抛出或捕获java.lang.Exception?
非常感谢快速回答.
院长