我有一个Java应用程序,试图在表中插入一行,并且com.ibatis.common.jdbc.exception.NestedSQLException
与Cause com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException
一起抛出
当我尝试为唯一键约束插入重复数据时。
如何捕获该异常?
最佳答案
要找到根本原因,您可以执行以下操作:
try {
//insert
} catch (NestedSQLException e) {
Throwable t = e;
while(t.getCause() != null) {
t = t.getCause();
}
//in your situation, now t should be MySQLIntegrityConstraintViolationException
if (t instanceOf MySQLIntegrityConstraintViolationException) {
//do something
}
}