全局异常的处理

一、处理思路

二、创建全局异常处理器 GlobalExceptionReslover

public class GlobalExceptionReslover implements HandlerExceptionResolver {

	Logger logger = LoggerFactory.getLogger(GlobalExceptionReslover.class);
	
	@Override
	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
			Exception ex) {
		//写日志文件
		logger.error("系统发生异常", ex);
		//发邮件、发短信
		//Jmail:可以查找相关的资料
		//需要在购买短信。调用第三方接口即可。
		//展示错误页面
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("message", "系统发生异常,请稍后重试");
		modelAndView.setViewName("error/exception");
		return modelAndView;
	}

}

这里面的发短信,发邮件没写,可以从网上查

三、在springmvc.xml中配置异常处理器

四、添加日志文件log4j.properties

log4j.rootLogger=INFO,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

五、若代码中需要抛异常,直接抛Exception异常即可

六、注意

在公司做项目时,要考虑到公司的业务情况,最好给客户看到的异常信息是:系统繁忙,请稍后再试等。

给程序员自己看到的错误,是什么错误就是什么错误即可

猜你喜欢

转载自blog.csdn.net/fjz_lihuapiaoxiang/article/details/85342518
今日推荐