Java catch 块,捕获的异常不是最终的
我正在查看Java SE7的新功能,目前我处于这一点:
http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
关于捕获多个功能,当我遇到这个声明时:
注: 如果 catch 块处理多个异常类型,则 catch 参数是隐式 final。在此示例中,catch 参数 ex 是 final,因此您无法在 catch 块中为其赋值任何值。
我从未注意到,在处理捕获的异常的经典情况下,捕获的异常不是最终的。
我只是想知道为什么这首先是一件好事?在我猜想重新抛出一个异常或记录它的消息之前,基本上修改一个捕获的异常,这不是不明智的吗?难道不应该由trowing机制来创建例外,以便它准确地代表它应该代表的东西吗?
我从未见过在捕获块中修改异常,也许有人可以指出它的好处吗?