SSM整合自定义异常处理器

异常分为:预期异常和Runtime异常

 

 

异常处理的思路:

    springmvc提供全局的异常处理器(一个系统只有一个异常处理器)进行统一的异常处理

   在程序当中遇到异常时  我们手工抛出throws Exception

 

    dao抛给service   service抛给controller   controller抛给前端控制器 前端控制器调用全局异常处理器

 

1.定义一个异常类

   package cn.elec.exception;
/**
 * 自定义异常类
 * @author 
 *
 */
public class NormalException extends Exception {

/**

*/
private static final long serialVersionUID = 7144771828212718116L;
//异常信息写到message里边
public String message;

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


public String getMessage() {
return message;
}


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

}


 

2.定义全局异常处理器

    系统遇到异常  我们在程序当中手工抛出

 

处理思路:解析出当前的异常类型 

如果该异常类型是系统自定义异常 直接取出异常信息在错误页面当中展现

 如果不是自定义异常 那么需要构造一个系统自定义的异常类  信息为:未知错误

 

SpringMVC提供了一个HandlerExceptionResolver接口

 

3.springmvc的配置文件当中配置全部异常处理器

   

<!-- 配置全局异常处理器-->

        <beanclass="cn.elec.exception.AllClassExceptionResolver"></bean>

只要AllClassExceptionResolver实现了HandlerExceptionResolver接口那么srpingmvc就会将其当成一个异常处理器

 

应该在哪一层抛出异常:

    如果与业务功能相关的异常 那么在service层抛出

    如果跟业务没关系的异常在controller当中抛出 如:判断参数是否为空  不能用乱字符等等

    dao层一般不会抛出异常

 

具体的异常处理可以参见:

http://blog.csdn.net/ufo2910628/article/details/40399539

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值