我有一个界面
public interface DataDAO {
public void doSomething() throws Exception;
}
假设有两种实现,一种使用数据库获取数据,另一种使用 Web 服务。
public class DataDAOJdbc implements DataDAO {
public void doSomething() throws Exception {
//Implement
}
}
public class DataDAOWebService implements DataDAO {
public void doSomething() throws Exception {
//Implement
}
}
正如您已经看到的,问题是启动了超级通用异常。由于两种实现都需要引发相同类型的异常。
Jdbc 实现实际上只会引发 SQLException,而 Webservice 实现只会引发 IOException。
问题是,我怎样才能让界面更优雅,所以我捕获了一个适当的异常?
我的第一件事是创建自己的异常,并在接口级别声明它
public interface DataDAO {
public void doSomething() throws MyCoolException;
}
然后,当然相应地实施。
问题是,这有意义吗?我从来没有创建过自己的异常,所以我不确定这是否有意义。另外,创建 MyCoolException 时应该注意什么?