Atitit 拦截数据库异常的处理最佳实践
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
相关文章
- sqlite数据库使用具体案例以及mysqlite.db数据库
- Java连接oracle数据库的OCI和THIN
- Linux - mysql 异常:登录不上mysql数据库
- mysql导出数据库几种方法
- Serverless 解惑——函数计算如何访问 Redis 数据库
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
- 数据库字段为日期类型时
- 软考中级(软件设计师)——数据库设计(下午15分)——数据结构及算法应用(最难的点1个答题15分-程序填空题-目标3-9分)
- 【K3s】第14篇 使用外部数据库PostgreSQL实现高可用安装部署k3s(详细步骤)
- 糟糕,数据库异常不可用怎么办?
- 分布式数据库拆分常用之法
- VCS引起的oracle数据库异常重新启动一例
- MySQL数据库篇之数据库的备份和还原
- MySql数据库时区异常 The server time zone value 字符乱码 版本问题query_cache_size