zoukankan      html  css  js  c++  java
  • springmvc之异常处理

    springmvc之异常处理

    系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。

    系统的 dao、service、controller 出现都通过throws Exception向上抛出,最后由 springmvc 前端控制器交由异常处理器进行异常处理

    1、自定义异常类

    package cn.itcast.exception;
    
    public class SysException extends Exception{ 
        private static final long serialVersionUID = 4055945147128016300L; 
        // 异常提示信息 
        private String message; 
        
        public String getMessage() { 
            return message; 
        }
        
        public void setMessage(String message) { 
            this.message = message; 
        }
        
        public SysException(String message) { 
            this.message = message; 
        }
    }
    

    2、自定义异常处理器

    package cn.itcast.exception; 
    
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    import org.springframework.web.servlet.HandlerExceptionResolver;
    import org.springframework.web.servlet.ModelAndView; 
    
    /*** 异常处理器 
    * @author rt 
    */
    public class SysExceptionResolver implements HandlerExceptionResolver{
        /*** 跳转到具体的错误页面的方法 */ 
        public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { 
            ex.printStackTrace(); 
            SysException e = null; 
            // 获取到异常对象,判断是否为自定义异常
            if(ex instanceof SysException) {
                e = (SysException) ex; 
            }else {
                e = new SysException("请联系管理员"); 
            }
            ModelAndView mv = new ModelAndView(); 
            // 存入错误的提示信息 
            mv.addObject("message", e.getMessage()); 
            // 跳转的Jsp页面 
            mv.setViewName("error");
            return mv; 
        } 
    }
    

    3、配置异常处理器

    <!-- 配置异常处理器 --> 
    <bean id="sysExceptionResolver" class="cn.itcast.exception.SysExceptionResolver"/>
    
    记得快乐
  • 相关阅读:
    Django--form验证及错误处理
    Django--form保存用户输入内容
    Django--static静态文件引用
    Django--ajax
    Django--form基础
    Django--cookie&session
    Django--缓存
    Django--中间件
    oracle——session
    oracle——DDL
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13841392.html
Copyright © 2011-2022 走看看