ExceptionHandlerAdvice.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.uas.eis.exception;
  2. import javax.servlet.http.HttpServletRequest;
  3. import org.apache.log4j.Logger;
  4. import org.springframework.http.HttpStatus;
  5. import org.springframework.ui.ModelMap;
  6. import org.springframework.util.StringUtils;
  7. import org.springframework.web.bind.annotation.ControllerAdvice;
  8. import org.springframework.web.bind.annotation.ExceptionHandler;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10. import org.springframework.web.bind.annotation.ResponseStatus;
  11. import com.uas.eis.utils.StringUtil;
  12. @ControllerAdvice
  13. public class ExceptionHandlerAdvice {
  14. private final static Logger logger = Logger.getLogger(ExceptionHandlerAdvice.class);
  15. /**
  16. * 处理未被发现处理的运行时抛出异常
  17. *
  18. * @param ex
  19. * @return
  20. */
  21. @ExceptionHandler(RuntimeException.class)
  22. @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
  23. @ResponseBody
  24. public ModelMap handleUnexpectedServerError(RuntimeException ex, HttpServletRequest request) {
  25. ModelMap map = new ModelMap();
  26. //logger.error(ex);
  27. ex.printStackTrace();
  28. map.put("exceptionInfo", ex.getMessage());
  29. return map;
  30. }
  31. /**
  32. * 处理通过BaseUtil.showError抛出的异常
  33. *
  34. * @param ex
  35. * @return
  36. */
  37. @ExceptionHandler(SystemException.class)
  38. @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
  39. @ResponseBody
  40. public ModelMap handleSystemError(SystemException ex, HttpServletRequest request) {
  41. ModelMap map = new ModelMap();
  42. map.put("exceptionCode", ex.getErrorCode());
  43. map.put("exceptionInfo", ex.getMessage());
  44. return map;
  45. }
  46. }