【发布时间】:2023-04-08 15:20:01
【问题描述】:
这是在运行时检查异常是否为已检查异常的正确方法吗?
public boolean isChecked(final Throwable e) {
return !(RuntimeException.class.isAssignableFrom(e.getClass())
|| Error.class.isAssignableFrom(e.getClass()));
}
【问题讨论】:
-
e instanceof RuntimeException? -
您可以为您的问题添加一些上下文吗?也许更大的问题是您是否应该检查异常,无论它是检查还是未检查。
-
你需要这个做什么?
-
我有一个非常奇怪的编译时错误,它迫使我处理抛出的
Exception,而不是抛出的SomeSubClassOfException,它不是运行时异常。它是我正在编写的一个小型个人教程代码的一部分,用于重新访问 java 中的异常处理 -
听起来像XY problem。如果您有使用
throws Exception或throws Throwable声明的方法,请将其更改为仅抛出它需要抛出的异常。请注意,throws子句中允许有多个特定例外。
标签: java exception runtime unchecked-exception