您的位置:首页 > 其它

全局异常处理

2020-06-07 05:15 197 查看

处理思路

dao抛出异常, 抛给了service

service不处理, 继续往外抛

service就抛给表现层了

全局异常处理器, 在表现层统一捕获

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;

/**
* 全局异常处理器
* @author 11501
*
*/
public class GlobalExceptionResolver implements HandlerExceptionResolver {

private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionResolver.class);

@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
Exception ex) {
//打印控制台
ex.printStackTrace();
//写入日志
logger.debug("-----测试输出日志-----");
logger.info("-----系统发生异常-----");
logger.error("系统发生异常", ex);
//发送邮件, 发短信
//发邮件使用jmail工具包, 发短信使用第三方的webservice

//显示错误页面
ModelAndView modelAndView = new ModelAndView();
//返回逻辑视图给视图解析器
modelAndView.setViewName("error/exception");

return modelAndView;
}

}

log4j.rootLogger=DEBUG,A3,STDOUT

log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=[%p] [%l] %10.10c - %m%n

log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.file=logs/server.log
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=\n\n[%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l%n%m%n

异常测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: