NoClassDefFoundError扩展了LinkageError,后者又扩展了Error.
用于Error类的Javadoc状态:
An
Error是一个子类Throwable,表示合理的应用程序不应该试图捕获的严重问题.
类加载方法Class.forName()只ClassNotFoundException在throws子句中声明.其中,除了上面的描述Error意味着我们通常不应该NoClassDefFoundError在加载类Class.forName()等时捕获它们.
我的问题是NoClassDefFoundError抛出的条件是什么而不是ClassNotFoundException?
Jon*_*eet 12
ClassNotFoundException在你手动加载类的情况下更有可能被抛出(到你的代码) - 正是为了类似的东西Class.forName().例如,这些名称可能来自用户输入.
NoClassDefFoundError将在类文件本身引用无法找到的类时发生.类是存在一段时间了,但现在还不是-这不只是一个错误的是试图做反射的代码,这不是让所有必需的类可用的部署错误.据我所知,NoClassDefFoundError通常或可能总是包装一个ClassNotFoundException- 但重点是这不是你的代码要防范的东西,因为它表明一个可能太破碎无法恢复的环境.
至少,这是我的理解:)
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |