日期:2014-05-19  浏览次数:20672 次

ssi 异常处理机制
在action层里处理掉异常 然后用log.error(this, e)进行记录 这个log.error(this, e);里面的this
Java code
    public String addHandInput(){
        boolean flag = false;
        try {
            flag = personService.addHandInput(safeHandWorkInfo, list);
            if(flag == true) {
                message = "增加综合意外保险(手工录入)成功!";
                log.info("增加综合意外保险(手工录入)成功!");
            }else {
                log.info("增加综合意外保险(手工录入)失败!");
            }
        } catch (Exception e) {
            message = "数据库操作失败!请联系系统管理员!!";
            log.info("综合意外保险(团体)增加失败!请联系系统管理员!!");
            log.error(this, e);
            e.printStackTrace();
        }
        return flag?PersonHandWorkSafeInfoAction.HXSUCCESS:PersonHandWorkSafeInfoAction.HXERROR;
    }
是什么意思呢

------解决方案--------------------
log.info()就是一个日志吧。。。。。。两者的区别。你说的message? 这个是不是你设置的提示语
------解决方案--------------------
this当然代表当前类啦。

也就是说日志打印的是当前类和其发生了的异常。而log.info直接就是程序定义的错误信息。没其它东西。
------解决方案--------------------
log.error(this, e); 应该是抛出当前的自定义异常
------解决方案--------------------
log.error(this, e); 
如果这个没猜错就是log4j,这个代码只是让日志工具打印一下错误发生的对象和异常的详细堆栈,并不会抛出异常。
这个业务流程的控制主要还是在flag这个变量