springmvc - ExceptionResolver
springmvc - ExceptionResolver
中柠檬 发表于1年前
springmvc - ExceptionResolver
  • 发表于 1年前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

###springmvc 异常处理机制:

springmvc 异常处理机制

异常处理器 ExceptionResolver

自定义异常类: 继承Excepion

###创建异常处理类:

  1. 创建一个CustomExceptionResolver实现HandlerExceptionResolver接口,
  2. 在方法体中先判断该异常是否是自定义异常。如果是,那么将其变成自定义异常。如果不是则new 一个自定义异常,message设置为"未知异常"。
public class CustomExceptionResolver implements HandlerExceptionResolver {

    @Override
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {

        CustomException customException = null;
        if (ex instanceof CustomException) {
            customException = (CustomException)ex;
        }else {
            customException = new CustomException("未知错误");
        }
        
        String message = customException.getMessage();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("message", message);
        modelAndView.setViewName("error");

        return modelAndView;
    }
}

###异常抛出:

public ItemsCustom findItemsById(Integer id) throws Exception {
    Items items = itemsMapper.selectByPrimaryKey(id);
    if (items == null) {
        throw new CustomException("您要修改的商品信息不存在!");
    }
    ItemsCustom itemsCustom = new ItemsCustom();
    if (items != null) {
        BeanUtils.copyProperties(itemsCustom, items);
        return itemsCustom;
    }
    return null;
}
  • 点赞
  • 收藏
  • 分享
粉丝 6
博文 177
码字总数 83824