一、处理思路
二、创建全局异常处理器 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异常即可
六、注意
在公司做项目时,要考虑到公司的业务情况,最好给客户看到的异常信息是:系统繁忙,请稍后再试等。
给程序员自己看到的错误,是什么错误就是什么错误即可