gpt4 book ai didi

Java:为什么我不能在比较器中抛出异常?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:12 24 4
gpt4 key购买 nike

直接的答案是因为 Comparator.compare 的接口(interface)被指定为不会抛出异常。但这是为什么呢?

或者换句话说:我的Comparator 必须依赖于一个可以抛出异常的函数。从理论上讲,这不应该发生。但如果发生这种情况,我希望它能从我使用 Comparator 的整个函数中脱离出来(在 Collections.sort 中)。 IE。我希望它的行为就像发生了未处理的异常一样。

这似乎以一种明显的自然方式是不可能的(因为如果接口(interface)说它不能抛出异常,它就不能)。

我该如何解决这个问题?使用丑陋的 try/catch 并打印出异常并希望我能识别它?这似乎是一种非常丑陋的方式。

最佳答案

你总是可以抛出 RuntimeException ,或派生自它的派生对象,甚至派生自未明确声明自身抛出异常的方法。

关于Java:为什么我不能在比较器中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832755/

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