package com.zy.common.config; import com.core.common.R; import com.core.exception.CoolException; import lombok.extern.slf4j.Slf4j; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.method.HandlerMethod; /** * Created by vincent on 2019-06-09 */ @Slf4j @RestControllerAdvice public class CoolExceptionHandler { @ExceptionHandler(Exception.class) public R handlerException(HandlerMethod handler, Exception e) { log.error("全局异常处理器捕获异常,handler: {}, 异常信息: {}", handler != null ? handler.getMethod().getName() : "unknown", e.getMessage(), e); e.printStackTrace(); return R.error(); } @ExceptionHandler(HttpRequestMethodNotSupportedException.class) public R handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) { return R.error(); } @ExceptionHandler(CoolException.class) public R handleRRException(CoolException e) { String[] split = e.getMessage().split("-"); if (split.length == 2) { if (String.valueOf(split[0]).length() < 3) { return R.parse(e.getMessage()); } } return R.error(e.getMessage()); } }