gpt4 book ai didi

Java catch block ,捕获的异常不是最终的

转载 作者:太空狗 更新时间:2023-10-29 22:57:56 25 4
gpt4 key购买 nike

我正在检查 Java SE7 的新特性,我目前正处于这一点:

http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html

关于 catch multiple 特性,当我遇到这个语句时:

Note: If a catch block handles more than one exception type, then thecatch parameter is implicitly final. In this example, the catchparameter ex is final and therefore you cannot assign any values to itwithin the catch block.

我从来没有注意到在处理捕获异常的经典案例中捕获的异常不是最终的。

我只是想知道为什么这是一件好事?在我猜测重新抛出它或可能记录它的消息之前修改捕获的异常不是不明智的吗?是否应该由 trowing 机制来创建异常,以便它准确地代表它应该做什么?

我从未见过在 catch block 中修改异常,也许有人可以指出它的好处?

最佳答案

它与方法参数几乎相同:

通常不修改它们并且许多人同意它们应该被视为final(无论是否实际编写final 在他们面前是一些争论的问题)。

但由于没有技术要求表明它必须是 final,因此该语言为您提供了选择权。

就我个人而言,我知道没有充分的理由修改 catch block 的异常引用。

关于Java catch block ,捕获的异常不是最终的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16959436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com