SSM配置全局异常处理

在Spring中,我们写一些业务逻辑的时候或许要抛出异常,这里也许你就纠结了,到底是抛出去还是捕获这个异常进行一些处理呢,这里我的理解是,如果异常发生对业务有影响(影响返回的数据)那么就采取捕获的措施,在catch里边写相关的逻辑,但是如果发生的是一些无关紧要的异常,那么我的建议是直接抛出,同时新建一个Spring的全局异常Handler来处理抛出的异常以及定制异常响应的页面!下边我直接给出代码!

package cn.e3mall.search.exception;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class GlobalException implements HandlerExceptionResolver {

	private static final Logger logger = LoggerFactory.getLogger(GlobalException.class);
	
	@Override
	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
			Exception e) {
		// TODO Auto-generated method stub
		e.printStackTrace();
		
		logger.error("系统发生异常",e);
		
		//发邮件的话就用jmail
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("error/exception");
		return modelAndView;
	}

}

配合log4j就能持久化异常了,是不是更方便了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值