(二十五)异常处理--同一异常处理器

 处理器抛出异常,给中央调度器,由中央调度器捕获异常,调用异常处理器对象,集中处理 

框架把视线HandlerExceptionResolver接口的类叫做异常处理器,只有异常处理器能够处理异常

//定义一个简单的异常类
public class CustomException extends Exception {

    //异常信息
    public String message;

    public CustomException(String message) {
        super(message);
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

 接下来就是写测试程序了,还是使用查询的例子,如下: 

 然后我们在前台输入url来测试:http://localhost:8080/SpringMVC_Study/editItems.action?id=11,故意传一个id为11,我的数据库中没有id为11的项,所以肯定查不到,反正让它查不到即可。这样它就会抛出自定义的异常,然后被上面配置的全局异常处理器捕获并执行,跳转到我们指定的页面,然后显示一下该商品不存在即可。所以这个流程是很清晰的。 
  从上面的过程可知,使用SimpleMappingExceptionResolver进行异常处理,具有集成简单、有良好的扩展性(可以任意增加自定义的异常和异常显示页面)、对已有代码没有入侵性等优点,但该方法仅能获取到异常信息,若在出现异常时,对需要获取除异常以外的数据的情况不适用。
 

 转载:https://blog.csdn.net/eson_15/article/details/51731567

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/89002599