标签:draw 错误 自定义 pre 时间 bmc bsd dvb ror
设置user异常
public class UserException extends RuntimeException { public UserException() { super("the user is not exist!"); } }
异常页面:
<h1>status:[[${status}]]</h1> <h1>timestamp:[[${timestamp}]]</h1> <h1>error:[[${error}]]</h1> <h1>message:[[${message}]]</h1>
如果此时浏览器访问报错:
其他客户端的访问:
@ControllerAdvice public class MyException { @ResponseBody @ExceptionHandler(UserException.class) public Map<Object,String> userExc(Exception e){ Map<Object,String> map = new HashMap<>(); map.put("code","user.not.exist"); map.put("message",e.getMessage()); return map; } }
其他客户端的访问:
浏览器的访问:
@ExceptionHandler(UserException.class) public String userExc(Exception e){ Map<Object,String> map = new HashMap<>(); map.put("code","user.not.exist"); map.put("message",e.getMessage()); return "forward:/error"; }
其他客户端:
浏览器:(此时是系统默认的处理页面)
在对代码进行改动
@ExceptionHandler(UserException.class) public String userExc(Exception e, HttpServletRequest request){ Map<Object,String> map = new HashMap<>(); //传入我们自己的错误状态码 4xx 5xx //否则就不会进入定制错误页面的解析流程 /** * Integer statusCode = (Integer) request .getAttribute("javax.servlet.error.status_code"); */ request.setAttribute("javax.servlet.error.status_code",400); //此时的数据是无法携带出去的 map.put("code","user.not.exist"); map.put("message",e.getMessage()); return "forward:/error"; }
标签:draw 错误 自定义 pre 时间 bmc bsd dvb ror
原文地址:https://www.cnblogs.com/Mrchengs/p/10357010.html