小编Ana*_*eka的帖子

用于宁静和正常的 Spring MVC ExceptionHandler

我想处理正常和休息/ajax 请求的异常。这是我的代码,

@ControllerAdvice
public class MyExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ModelAndView handleCustomException(Exception ex) {

        ModelAndView model = new ModelAndView("error");
        model.addObject("errMsg", ex.getMessage());
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);
        ex.printStackTrace(pw);
        sw.toString();
        model.addObject("errTrace", sw);
        return model;

    }

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public String handleAjaxException(Exception ex) {
        JSONObject model = new JSONObject();
        model.put("status", "error");
        model.put("errMsg", ex.getMessage());
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);
        ex.printStackTrace(pw);
        sw.toString();
        model.put("errTrace", sw);

        return model.toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

这会给我一个错误,因为我不能有 @ExceptionHandler(Exception.class) 两次。那么解决方案是什么呢?

exception-handling spring-mvc spring-rest

3
推荐指数
1
解决办法
1877
查看次数