我有一个实现以下接口的基类,其上声明的方法抛出基本异常类型Exception
。如何在不使用try catch块的情况下捕捉“抛出Exeception”?
有很多扩展基类的具体类和我不想在其中添加try-catch
块。有没有办法处理throws
而不添加try-catch
?
接口
public interface IReportFactory {
public Object GetDataFromDB(Connection conn,HashMap<String,String> map) throws Exception;
public Object GetJSONString(HashMap<String,String> map) throws Exception;
}
基类
public abstract class BaseReport implements IReportFactory{
public Connection conn;
public String acctId = FactoryReport.getAcctId();
------ I WANT TO CATCH EXCEPTION HERE ------
------ WHICH ACCURS IN OTHER CLASSES WHICH EXTENDS FROM THIS CLASSES -----
}
的具体类的实施例(有30)
public class GeneralRevenue extends BaseReport {
private final Logger logger = Logger.getLogger(GeneralRevenue.class);
public GeneralRevenue(Connection _conn) {
this.conn = _conn;
}
@Override
public Object GetJSONString(HashMap<String,String> params) throws Exception {
//codes
return jObj.toString();
}
@Override
public Object GetDataFromDB(Connection conn,HashMap params) throws Exception {
//codes
return RevenueList;
}
}
此代码在我之前已经写入,并且全部concreate类方法的有抛出异常。有没有办法处理基类中的所有异常,而不添加try catch所有concreate类的方法?例如,我可以在基类中捕获concreate类中遇到的异常吗? – Talha 2013-03-08 14:24:04
所有的类方法都必须抛出异常,但我应该在基类中处理它们。我在问这个问题,我希望我能解释我的问题 – Talha 2013-03-08 14:27:20
@talhakosen:是的,你可以在具体课程中找到任何内容并在那里处理。你不需要扔任何东西。 – 2013-03-08 14:28:51