【发布时间】:2015-02-19 09:01:09
【问题描述】:
我怎样才能捕捉到这个异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
Duplicate entry '22-85' for key 'ID_CONTACT'
【问题讨论】:
-
最好解决导致此异常的问题
-
这不是问题,但使用 Web 应用程序,用户可以更改 http 请求参数,我想确保一切正常,所以我想添加这一层安全性。
-
但正如您从堆栈跟踪中看到的那样,在插入期间您违反了约束,最好在将数据发送到数据库之前先验证数据。如果您真的想要,您显然可以捕获异常,但我更喜欢更清洁的解决方案
-
最干净的解决方案是将用户重定向到一些通用的网络错误页面,该页面不显示异常跟踪(显然)但会提醒系统所有者。比尝试处理这些特殊攻击案例要好得多...
-
但是你怎么知道它是重复条目异常。异常表示违反约束。如果是另一个约束呢?
标签: java mysql hibernate jpa sqlexception