您的位置:首页 > 数据库

Atitit 拦截数据库异常的处理最佳实践

2016-11-11 20:05 211 查看
Atitit
拦截数据库异常的处理最佳实践

 

需要特殊处理的ex
在Dao层异常转换并抛出1

Server层转换为业务异常1

 

 

 

 

需要特殊处理的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 AuthExUserExistExOtherUserEx {

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: