public class GlobalException implements HandlerExceptionResolver {
/**
* 处理异常的方案
* @param request
* @param response
* @param handler
* @param ex
* @return
*/
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
ModelAndView mav = new ModelAndView("error");
if(ex instanceof ArithmeticException) {
//处理
mav.addObject("errorMsg", "算术异常");
} else if(ex instanceof ClassCastException) {
//处理
mav.addObject("errorMsg", "类型转换异常");
} else {
mav.addObject("errorMsg", "服务器正忙,请稍后重试");
}
return mav;
}
}
ResultVo
public class ResultVO<T> {
private Integer code;
private String message;
private T data;
/**
* 成功 无数据
*
* @param message
* @return
*/
public static ResultVO success(String message) {
ResultVO resultVO = new ResultVO(1, message);
return resultVO;
}
/**
* 成功 有数据
*
* @param message
* @param data
* @return
*/
public static <T> ResultVO success(String message, T data) {
ResultVO resultVO = new ResultVO(2, message, data);
return resultVO;
}
/**
* 失败 无数据
*
* @param message
* @return
*/
public static ResultVO fault(String message) {
ResultVO resultVO = new ResultVO(-1, message);
return resultVO;
}
/**
* 失败 有数据
*
* @param message
* @param data
* @return
*/
public static <T> ResultVO fault(String message, T data) {
ResultVO resultVO = new ResultVO(-2, message, data);
return resultVO;
}
private ResultVO() {
}
public ResultVO(Integer code, String message) {
this.code = code;
this.message = message;
}
private ResultVO(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
@Override
public String toString() {
return "ResultVO{" +
"code=" + code +
", message='" + message + '\'' +
", data=" + data +
'}';
}
}