1 获取对象属性值前,先进性对象的判空处理,抛出异常,catch块中捕捉。
eg:
try {
if(StringUtils.isBlank(param)){
throw new IllegalArgumentException("入参不能为空!");
}
RequestAiParameters<SReqInfoImageLibrary> request = (RequestAiParameters<SReqInfoImageLibrary>)
JSON.parseObject(param, new TypeReference<RequestAiParameters<SReqInfoImageLibrary>>(){});
if(null == request ||"".equals(request)){
throw new IllegalArgumentException("入参不能为空!");
}
response.setUnid(request.getUnid());
List<ImageInfo> imageInfoList = request.getsReqInfo().getImageInfo();
if(null == imageInfoList||"".equals(imageInfoList)){
throw new IllegalArgumentException("传入图片信息组为空!");
}
boolean flag = imageSimilar.incrementBuildLibrary(imageInfoList);
if(!flag){
throw new Exception("图片建库失败!");
}
} catch (IllegalArgumentException ie) {
response.setCode(UtilCode.ERROR_PRAM);
response.setMessage(String.format("%s[信息 : %s]", UtilCode.MSG_PRAM, ie.getMessage()));
logger.error(String.format("图片建库失败!, param : %s", param), ie);
} catch (Exception e){
response.setCode(UtilCode.ERROR_IMAGE_CLEAR_LIB);
response.setMessage(String.format("%s[信息 : %s]", UtilCode.MSG_IMAGE_CLEAR_LIB, e.getMessage()));
logger.error(String.format("图片建库失败!, param : %s", param), e);
}