| package com.moral.api.exception; | 
|   | 
| import com.moral.constant.ResponseCodeEnum; | 
| import com.moral.constant.ResultMessage; | 
| import com.moral.exception.TokenException; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.http.HttpStatus; | 
| import org.springframework.web.bind.annotation.ControllerAdvice; | 
| import org.springframework.web.bind.annotation.ExceptionHandler; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import org.springframework.web.bind.annotation.ResponseStatus; | 
|   | 
|   | 
| @ControllerAdvice | 
| @ResponseBody | 
| @Slf4j | 
| public class GlobalExceptionHandler { | 
|     /** | 
|      * 处理全部异常 | 
|      */ | 
|     @ExceptionHandler | 
|     @ResponseBody | 
|     @ResponseStatus(HttpStatus.OK) | 
|     public ResultMessage handleException(Exception ex) { | 
|         log.error(ex.getMessage()); | 
|         ex.printStackTrace(); | 
|   | 
|         return  ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), ResponseCodeEnum.FAIL.getMsg()); | 
|     } | 
|   | 
|     /** | 
|      * 处理BusinessException异常 | 
|      */ | 
|     @ExceptionHandler({BusinessException.class}) | 
|     @ResponseBody | 
|     @ResponseStatus(HttpStatus.OK) | 
|     public ResultMessage handleUserNotExistException(BusinessException ex) { | 
|         return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), "请求用户数据失败"); | 
|     } | 
|   | 
|     /** | 
|      * 处理TokenException异常 | 
|      */ | 
|     @ExceptionHandler({TokenException.class}) | 
|     @ResponseBody | 
|     @ResponseStatus(HttpStatus.OK) | 
|     public ResultMessage handleTokenException(TokenException ex) { | 
|         return ResultMessage.fail(ex.getCode(),ex.getMsg()); | 
|     } | 
|   | 
| } |