【发布时间】:2010-08-23 02:31:18
【问题描述】:
我正在尝试提出一种可管理的方式来处理 DAO 中的异常。通常,我的 DAO 中的方法如下所示:
public ArrayList fetchColors (String id)
{
//call iBatis SqlMapClient
//put results in a list
//return list
}
如果上述代码中发生错误,则所有内容都会写入server.log,并且在首页上我会显示自定义错误屏幕。但是,我想避免将堆栈跟踪放到 server.log 中,而是将其写入my_app.log(我正在使用 log4j)。
所以我打算将上述方法转换为以下方法:
public ArrayList fetchColors (String id) throws SqlException
{
try {
//call iBatis SqlMapClient
//put results in a list
}
catch (SqlException e)
{
logger.log (e);
throws e;
}
//return list
}
问题:
- 这是解决问题的最佳方法吗?
- 我在 DAO 中有很多方法,对每种方法执行上述操作将是一个 PITA。是否有更简单的方法可以做到这一点,因此同样的事情适用于 DAO 中的所有方法?
【问题讨论】:
-
在我看来这是最好的方法。 Java 只是一种非常冗长的语言。
标签: java spring exception ibatis dao