Atitit 拦截数据库异常的处理最佳实践
需要特殊处理的ex 在Dao层异常转换并抛出
} catch (SQLException e) {
if(e.getMessage().startsWith("Duplicate entry"))
{
throw new DuplicateEntryEx(e.getMessage(),e);
Server层转换为业务异常
public Object setSubHiagt4adm(String sub_id) throws AuthEx, UserExistEx, OtherUserEx {
tksvrV4.setUtype("admMod");
try {
tksvrV4.checkUidValid();
} catch (UidEmptyEx e) {
//throw new AuthEx("uid is empty", e);
}
String sql = "insert agent(uid,pwd)values('$uid$','$pwd$') ";
sql = sql.replace("$uid$", sub_id);
sql = sql.replace("$pid$", "");
sql = sql.replace("$pwd$", "111111");
try {
return dbsvrV4.executeUpdateV2qb0(sql);
} catch ( DuplicateEntryEx e) {
throw new UserExistEx(e.getMessage(),e);
}catch ( getConnEx | SQLException e) {
throw new OtherUserEx(e.getMessage(),e);
}
}
}
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
Atiend