java - 不允许异常链接的 JDK 异常怎么了?

标签 java exception

有几个我经常在 JDK 中使用的异常,它们不支持异常链并且具有非常狭窄的描述,例如

  • NoSuchElementException , "由 EnumerationnextElement 方法抛出以指示枚举中不再有元素"(更新为"由各种访问器方法抛出以指示该元素JDK 8 中不存在被请求的内容”)
  • ParseException “表示在解析时意外出现错误。”

不应该在 JDK 之外使用此类异常吗?如果是这样,您会推荐什么替代异常(exception)?如果异常可以在 JDK 之外使用(没有代码味道),我怎样才能获得异常链接?

最佳答案

有链接能力,但不是通过构造函数参数给出的。

可以看看Throwable.initCause(Throwable cause)这可能符合您的目的,但我相信这些异常是专门为它们指示的目的而编码的。

对于 ParseException,这是特定于所讨论的操作,而 NoSuchElementException 是非常特定于数组或其他类型的线性集合之类的东西。

关于java - 不允许异常链接的 JDK 异常怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23780523/

相关文章:

java - 无法从 START_OBJECT 标记 String.class 反序列化 java.lang.String 的实例

Java将集合放入 map

python : Extending Exception class

java - 尝试抛出自己的异常

c# - 有没有办法引用导致异常的对象?

java - 美化函数中的异常处理

java - 通过蓝牙传输视频(java编程)

java - 为什么 lambda 中的变量必须是最终的或实际上是最终的?

java - Gradle 找不到根项目参数的方法“()

c# - C# 中的静默失败,看似未处理的异常不会使程序崩溃