我正在检查Java SE7的新功能,目前我正在:
http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
关于捕获多个功能,当我遇到以下语句时:
注意:如果catch块处理多个异常类型,则catch参数隐式为final。在此示例中,catch参数ex是最终的,因此您不能在catch块中为其分配任何值。
我从未注意到,在处理捕获到的异常的经典案例中,捕获到的异常不是最终的。
我只是想知道为什么这是一件好事?在我想重新抛出它或记录它的消息之前,先修改一下捕获的异常是否明智?难道不是由引发异常的机制来创建异常,以便它确切地代表了异常吗?
我从未见过在catch块中修改过异常,也许有人可以指出它的好处吗?
它与方法参数几乎相同:
您通常不会修改它们,并且许多人都认为应该将它们视为final
(是否final
在他们面前实际写作是一些辩论的问题)。
但是由于没有技术要求,所以final
该语言为您提供了选择的选择。
我个人没有充分理由修改catch块的异常引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句