1. service层业务处理中的问题,要通过自定义异常的方式反馈出来,不应使用返回值来做操作是否成功的判断。如果需要将结果对象带出,要将结果对象定义在自定义异常中带出。
2. try catch 的过程中,如果catch之后构造新的异常抛出,则不需要在catch模块中打印错误日志。如果catch之后没有抛出异常,则必须打印错误日志。打印错误日志应使用日志框架配合commons-lang3的工具,而不是直接打印。
正确的操作:
try {
//这里是业务操作
} catch (Exception e) {
logger.error(ExceptionUtils.getStackTrace(e));
return EcWebApiResult.success(new StructuredAddressResult());
}
错误的操作
try {
//这里是业务操作
} catch (Exception e) {
e.printStackTrace();
return EcWebApiResult.success(new StructuredAddressResult());
}