为什么InstantiationException是一个经过检查的异常?

ttt*_*ppp 9 java exception instantiationexception

我的理解是,已检查的例外是那些可以合理地预期从中恢复的人.我不明白为什么这是InstantiationException的情况.如果一个类无法实例化,那么调用者应该做什么?

然后我认为这可能是代码编译时的一个重要考虑因素 - 因此只有在动态指定类时才会发生这种情况.1 在这种情况下,类可能更像是一个参数,但是我们有IllegalArgumentException,它是一个运行时异常.

检查标准异常的理由是什么,哪些不是?

1这是真的吗?

Luk*_*der 6

明确处理我能想到的这个异常的一个原因(但这不是一个权威的答案):

尝试使用反射实例化一个类(因为该类已配置,而不是静态链接).如果它没有预期的构造函数签名,请尝试另一个构造函数.或者另一课.任何框架代码(例如Spring)都可能具有这样的逻辑.