假设我有一个DataStore
接口,其方法为public List<Entity> getEntities()
。类SqlDataStore
实现此接口。问题在于,当调用SqlDataStore.getEntities()
时,可能会抛出SQLException
。我无法更改接口以将此已检查的异常添加到方法签名中,因为您还可以编写一个实现XmlDataStore
来访问XML文件以获取数据。我该怎么做才能处理实现可以抛出的那些已检查的异常?
答案 0 :(得分:0)
好的,这就是我缺乏更好的想法所做的。我定义了一个扩展DataStoreException
的类RuntimeException
。我从接口定义中删除了throws子句。当在其中一个实现DataStore
的类中抛出一个已检查的异常时,我只需捕获它并将其包装在DataStoreException
中并重新抛出它。