我有一个包含缓存(Set)的类,缓存是在实例化时构建的。如果构建缓存失败(无法连接到数据库或其他原因),我不知道应该抛出哪个异常/错误。
class Provider {
public Provider() {
buildCache();
}
private void buildCache() {
try {
this.cache = getDataFromDb();
} catch (Exception ex) {
throw new ???
}
}
}
我想到一个例外,那就是ExceptionInInitializerError
,但是javadoc说它是在初始化静态成员时抛出的。
如果缓存没有构建完成,这个类就无用了,我应该抛出一个IllegalStateException
吗?
显然,我可以创建自己的ErrorOnBuildingCache
并将其抛出,但我想知道Java库中是否有适合这种情况的异常。