| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.poyee.controller.base;
- import com.poyee.dto.ResultDTO;
- import com.poyee.exception.OrderException;
- import com.poyee.exception.ServiceException;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.MethodArgumentNotValidException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
- import java.sql.SQLException;
- import java.util.Locale;
- /**
- * @author po'yi
- */
- @RestControllerAdvice
- @Slf4j
- public class ExceptionController extends BaseController{
- @ExceptionHandler(ServiceException.class)
- public ResultDTO handleException(ServiceException e, Locale locale) {
- log.info("业务异常:{}", e.getMessage());
- return failureResult(e.getCode(),e.getMessage(),null);
- }
- @ExceptionHandler(OrderException.class)
- public ResultDTO handleException(OrderException e, Locale locale) {
- log.warn("订单异常:{}", e.getMessage());
- return failureResult(e.getCode(),e.getMessage(),null);
- }
- @ExceptionHandler(Exception.class)
- public ResultDTO handleException(Exception e, Locale locale) {
- log.error("系统异常:{}", e);
- return failureResult(500,"系统异常");
- }
- @ExceptionHandler(SQLException.class)
- public ResultDTO handleException(SQLException e, Locale locale) {
- log.error("sql异常:{}", e);
- return failureResult(500,"sql异常,请联系管理员!");
- }
- @ExceptionHandler(MethodArgumentNotValidException.class)
- public ResultDTO handleMethodArgumentNotValidException(MethodArgumentNotValidException e, Locale locale) {
- String defaultMessage = e.getBindingResult().getAllErrors().get(0).getDefaultMessage();
- return failureResult(500,"参数错误:"+defaultMessage);
- }
- }
|