我的 struts2 webapp 使用 SQL 数据库。在 DB 访问代码中,我编写了一个基本的 try/catch 处理程序,用于捕获 SQL 或一般异常,将详细信息写入日志文件,然后继续。类的层次结构如下:
操作方法 -> 模型上的获取或设置方法 -> 数据库访问。
//Action method in action class
public string doActionMethod() throws Exception
{
String results = SampleModel.getResults();
}
//Model method in model class
public string getResults() throws Exception
{
String results = DBLayer.runQuery("SELECT Results FROM SampleTable WHERE Value='1');
}
//Method that queries database in DB access class
public string runQuery() throws Exception
{
ResultSet rs = null;
Connection dbConnection = null;
PreparedStatement preparedStatement = null;
dbConnection = MSSQLConnection.getConnection();
preparedStatement = dbConnection.prepareStatement(sqlQuery);
//run SQL statements
return String(rs.get(0));
}
我想捕获异常以冒泡到操作级别,以便我可以将它们转发到适当的错误页面。有没有比在方法签名中添加“抛出异常”更好的方法?