框架为SSH
异常处理方式为在业务逻辑层捕获异常,向上抛出
通过Struts的声明式异常来捕获用户自定义异常
然后统一的异常处理页面现在流程是这样:
运行A页面,页面的js上有一个Ajax方法,读取后台数据,以表格的形式显示在A页面在测试的时候发现,不管在业务逻辑层或者是Action中,加入System.out.println(1/0);
都无法跳转到统一的一次处理页面
我现在的做法是在Action中使用try catch来捕获异常,然后输入json格式的数据
在js中解析但是这样的话,struts2的声明式异常还有什么用?大家是怎么处理这样的情况
异常处理方式为在业务逻辑层捕获异常,向上抛出
通过Struts的声明式异常来捕获用户自定义异常
然后统一的异常处理页面现在流程是这样:
运行A页面,页面的js上有一个Ajax方法,读取后台数据,以表格的形式显示在A页面在测试的时候发现,不管在业务逻辑层或者是Action中,加入System.out.println(1/0);
都无法跳转到统一的一次处理页面
我现在的做法是在Action中使用try catch来捕获异常,然后输入json格式的数据
在js中解析但是这样的话,struts2的声明式异常还有什么用?大家是怎么处理这样的情况
既然是json数据的。那么可以try catch处理。
在catch中返回一个识别的字符,在前台判断,如果是识别的字符串,手动跳转到错误页面。并且在catch中用log记录错误消息,以便调试。
那发现抛出异常,就返回错误页面的result,这样行吗?
这个还真是没有往这方面想,我现在用的处理方式就是你说的那样来处理的
以为可以用声明式异常,没想到不行
是处理不了的
try{
result = "flag:'success', data:{}";
}
catch() {
result = "flag:'false', data:{}";
}
这样在前台获取的时候 先判断flag标致 正常的话则进行正常处理 异常的话则显示操作失败或者跳转到错误友好页面