JAVA 如何处理违反数据库唯一约束时,返回异常信息给前台

String  VerificatioResult="";
try{
 //新增或编辑操作
} catch(Exception e) {
    boolean isThrow=true;
    Throwable cause = e.getCause();
    if(cause instanceof java.sql.SQLIntegrityConstraintViolationException){
        isThrow=false;
        String errMsg =    ((java.sql.SQLIntegrityConstraintViolationException)cause).getMessage();
        //根据约束名称定位是那个字段
        if(StringUtils.isNotBLank(errMsg) && errMsg.indexof("IND_APP_DETAIL_APPCODE")!=-1) {
            VerificatioResult  =  "详情必传参数异常: APP_CODE 违反唯一约束条件";
        }else{
            isThrow=true;
        }
    }
    if(isThrow){
     处理非唯一约束异常
    }
}
if(Stringutil.isNotblank(VerificatioResult)){
//把对应字段的错误返回给前端显示
}

 

你可能感兴趣的:(java,oracle)