分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

web项目中处理捕获异常统一处理

发布时间:2023-09-06 01:42责任编辑:郭大石关键词:暂无标签

1.jfinal 中设置拦截器

2.在拦截器 捕获异常信息统一处理

 1 public class ExceptionInterceptor implements Interceptor { 2 ?3 ????//@Override 4 ????public void intercept(Invocation ai) { 5 ????????BaseController controller = (BaseController) ai.getController(); 6 ????????HttpServletRequest request = controller.getRequest(); 7 ????????boolean successed = false; 8 ????????String exception = ""; 9 ????????try {10 ????????????ai.invoke();11 ????????????successed = true;12 ????????} catch (Exception e) {13 ????????????e.printStackTrace();14 ????????????successed = false;15 ????????????// 判断是否ajax请求16 ????????????String header = request.getHeader("X-Requested-With");17 ????????????boolean isAjax = "XMLHttpRequest".equalsIgnoreCase(header);18 ????????????String msg = e.getMessage();19 ????????????exception = Exceptions.getStackTraceAsString(e);20 ????????????controller.keepPara();21 ????????????if (isAjax) {22 ????????????????msg = new StringBuilder().append("{\"source\":\"ExceptionInterceptor\",\"code\":\"1\",\"message\":\"系统异常:").append(msg).append("\"}").toString();23 ????????????????controller.renderJson(msg);24 ????????????} else {25 ????????????????String redirctUrl = request.getHeader("referer");26 ????????????????if (StringUtils.isBlank(redirctUrl)) {27 ????????????????????redirctUrl = request.getRequestURI();28 ????????????????}29 ????????????????controller.setAttr("message", msg);30 ????????????????controller.setAttr("stack", exception);31 ????????????????controller.setAttr("redirctUrl", redirctUrl);32 ????????????????controller.render("/WEB-INF/views/error/500.jsp");33 ????????????}34 ????????} finally {35 36 ????????}37 ????????return;38 39 ????}40 41 }
View Code

web项目中处理捕获异常统一处理

原文地址:https://www.cnblogs.com/bug1024/p/8445080.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved