Throwable
:
IllegalAccessException
扩展 Exception
当应用程序尝试通过反射创建实例(除了数组)、设置或获取字段,或调用方法,但当前执行的方法无法访问指定类、字段、方法或构造函数的定义时,抛出该异常。
IllegalAccessError
扩展IncompatibleClassChangeError、LinkageError、Error
如果应用程序尝试访问或修改它无法访问的字段,或调用无法访问的方法,则会抛出该异常。
通常,编译器会捕获此错误;仅当类的定义不兼容地更改时,才可能在运行时出现此错误。
问题
- 有人能给出每个异常被抛出的代码示例吗?
- 名称相似是否意味着它们之间有关系,还是仅仅纯属巧合?
- 是否存在其他的
XXXError
和XXXException
组合?这些组合如何相关联? - 如果你明确地
try
去catch
其中一个在Exception/Error
对中,你是否应该也catch
另一个?
catch(Throwable t){ }
没有throw t;
是非常糟糕的消息;意外吞噬错误可能会导致程序惨败,包括拒绝被杀死而不得不强制终止进程。 - Ajax