作者 王勇

添加了一个错误类型

@@ -8,10 +8,9 @@ package com.sunyo.wlpt.message.bus.service.exception; @@ -8,10 +8,9 @@ package com.sunyo.wlpt.message.bus.service.exception;
8 8
9 public enum CustomExceptionType { 9 public enum CustomExceptionType {
10 MESSAGE_SUCCESS("10200", "消息发送成功"), 10 MESSAGE_SUCCESS("10200", "消息发送成功"),
  11 + SERVER_EXCEPTION("10500", "服务器异常,发送消息失败!"),
11 12
12 BINDING_ERROR("10501", "配置信息,未进行绑定!"), 13 BINDING_ERROR("10501", "配置信息,未进行绑定!"),
13 -  
14 -  
15 SENDER_ERROR("10401", "报文格式错误,发送者不能为空!"), 14 SENDER_ERROR("10401", "报文格式错误,发送者不能为空!"),
16 CONTENT_ERROR("10402", "报文格式错误,消息内容不能为空!"), 15 CONTENT_ERROR("10402", "报文格式错误,消息内容不能为空!"),
17 SERVER_ERROR("10403", "报文格式错误,服务器名称不能为空!"), 16 SERVER_ERROR("10403", "报文格式错误,服务器名称不能为空!"),
@@ -27,8 +26,6 @@ public enum CustomExceptionType { @@ -27,8 +26,6 @@ public enum CustomExceptionType {
27 EXCHANGE_NO_EXIST("20405", "报文数据错误,交换机不存在!"), 26 EXCHANGE_NO_EXIST("20405", "报文数据错误,交换机不存在!"),
28 ROUTING_KEY_NO_EXIST("20406", "报文数据错误,路由键不存在!"), 27 ROUTING_KEY_NO_EXIST("20406", "报文数据错误,路由键不存在!"),
29 28
30 - SERVER_EXCEPTION("50500", "服务器异常,发送消息失败!"),  
31 -  
32 CLIENT_ERROR("400", "客户端异常"), 29 CLIENT_ERROR("400", "客户端异常"),
33 SYSTEM_ERROR("500", "系统服务异常"), 30 SYSTEM_ERROR("500", "系统服务异常"),
34 OTHER_ERROR("999", "其他未知异常"); 31 OTHER_ERROR("999", "其他未知异常");
1 package com.sunyo.wlpt.message.bus.service.exception; 1 package com.sunyo.wlpt.message.bus.service.exception;
2 2
  3 +import com.sunyo.wlpt.message.bus.service.response.ResultJson;
3 import org.slf4j.Logger; 4 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory; 5 import org.slf4j.LoggerFactory;
5 -import org.springframework.web.bind.annotation.ControllerAdvice; 6 +import org.springframework.web.bind.annotation.ExceptionHandler;
  7 +import org.springframework.web.bind.annotation.ResponseBody;
6 8
7 /** 9 /**
8 * @author 子诚 10 * @author 子诚
9 * Description:自定义全局异常处理类 11 * Description:自定义全局异常处理类
10 * 时间:2020/7/17 17:44 12 * 时间:2020/7/17 17:44
11 */ 13 */
12 -@ControllerAdvice 14 +//@ControllerAdvice
13 public class GlobalExceptionHandler { 15 public class GlobalExceptionHandler {
14 private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); 16 private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
15 - 17 +
  18 + //处理程序员主动转换的自定义异常
  19 + @ExceptionHandler(CustomException.class)
  20 + @ResponseBody
  21 + public ResultJson customerException(CustomException e) {
  22 + if(e.getCode() == CustomExceptionType.SYSTEM_ERROR.getCode()){
  23 + //400异常不需要持久化,将异常信息以友好的方式告知用户就可以
  24 +
  25 + //TODO 将500异常信息持久化处理,方便运维人员处理
  26 + logger.error("");
  27 + }
  28 + return ResultJson.error(e);
  29 + }
16 } 30 }