NutzCN Logo
问答 如何捕获主键重复异常CaseMessage=Duplicate
发布于 1297天前 作者 qq_2a1c6850 2284 次浏览 复制 上一个帖子 下一个帖子
标签:

我在插入数据的时候想捕获主键重复异常 但是发现 是DaoException异常 如何捕获CaseMessage=Duplicate entry '7626-20028' for key 'productId'这种异常呢

3 回复

没有特定异常类的

只能这样么,能优化下么 加个特定异常类 放在下个版本

catch (Exception e) {
							if (e.getMessage().contains("Duplicate")) {

								apiDao.update("prod_product_group_rel",
										Chain.make("group_data", r.getString("group_data"))
												.add("sequence", r.getInt("sequence"))

												.add("update_user", r.getString("update_user"))
												.add("update_time", r.get("update_time"))
												.add("catalog_id", r.getInt("catalog_id"))
												.add("create_user", r.getString("create_user"))
												.add("create_time", r.get("create_time")).add("is_delete",
														r.getInt("is_delete")),
										Cnd.where("id", "=", r.getLong("id")));
							} else {
								logger.error("", e);
							}

						}

并不能, jdbc驱动抛出的异常没有区分的

添加回复
请先登陆
回到顶部