MySQL 主键冲突异常如何全部捕获?
Posted wenniuwuren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 主键冲突异常如何全部捕获?相关的知识,希望对你有一定的参考价值。
很多时候只要觉得捕获 DuplicateKeyException 就行,其实这样还不够,底层还会抛出其他异常类型,完整的捕获如下:
public void method()
try
result = dao.insert(shopkeeperIndexDO);
catch (DuplicateKeyException e)
// do something
catch (Exception e)
String errorCode = getErrorCode(e);
// 这也是主键冲突异常
if (errorCode.indexOf("Duplicate entry") >= 0)
// do something
// do something
private String getErrorCode(Exception e)
String errorCode = "";
if (e.getCause() != null && e.getCause().getMessage() != null)
errorCode = e.getCause().getMessage();
if (Strings.isNullOrEmpty(errorCode) && e.getMessage() != null)
errorCode = e.getMessage();
return errorCode;
以上是关于MySQL 主键冲突异常如何全部捕获?的主要内容,如果未能解决你的问题,请参考以下文章