假设我有一个名为BugException的类,该类从扩展而来,RuntimeException
并且BugException具有一个采用Throwable的副本构造函数。
这段代码编译和类型检查:
Throwable e = ...;
if (e instanceof BugException) {
throw new BugException(e);
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样:
Throwable e = ...;
if (e instanceof BugException) {
throw e;
}
Run Code Online (Sandbox Code Playgroud)
不编译并给出错误消息:未处理的异常。java.lang.Throwable。?
为什么需要这种不必要的包装来满足类型检查器?