aigle code,关于异常的处理
来源:互联网 发布:php 打开xlsx文件乱码 编辑:程序博客网 时间:2024/06/10 06:11
今天下午应用出了点问题,由于已经同事已经离职因此只好偶接受,痛苦中……。最终发现因为网络错误导致有一个变量没有取到,但是他吞掉了这个错误,没有及时抛出,造成了业务逻辑的错误。
remindJsonStr = getEmpByEmpId(msb.getOwnerEmpId());
if ("".equals(remindJsonStr)) {
Log4jUtil.getSimpleErrorLogger().info("Fail to get remindJsonStr");
} else {
MessageBody msb1;
try {
msb1 = this.cloneMessageBodyObject(msb, remindJsonStr);
msb1.setMsgType("0");
list.add(msb1);
} catch (ParseException e1) {
Log4jUtil.getSimpleErrorLogger().info("Fail to parse remindJsonStr:" + remindJsonStr);
Log4jUtil.getNormalErrorLogger().info(e1);
}
}
其中这个getEmpByEmpId方法通过http调用的方式获取到了一个变量,但是对于异常只是做了以下的处理
catch (Exception e) {
Log4jUtil.getNormalErrorLogger().error(e);
}
拿到今天的log发现,由于网络不太正常,造成了connection rest,因此只是进行了提示“Fail to get remindJsonStr”,之后跳过了else部分,从而造成了业务逻辑错误。
所以除非是能够真正解决异常(通常都是业务异常),否则一定要抛出,及时抛出,特别是依赖于外部环境(如依赖网络和数据库)的函数,更是要对异常仔细处理。
- aigle code,关于异常的处理
- 关于异常处理的讨论
- abap--关于异常的处理
- 关于异常处理的建议
- abap--关于异常的处理
- abap--关于异常的处理
- 关于struts的异常处理
- abap--关于异常的处理
- abap--关于异常的处理
- abap--关于异常的处理
- 关于异常的处理方式
- abap--关于异常的处理
- abap--关于异常的处理
- 关于异常处理的总结
- 关于Java的异常处理
- 关于异常处理的解决方案
- 关于BeanCreationException的异常处理
- 关于异常处理的解决方案
- VC延时的七种方式
- 桶排序
- 指针“.”和“->”的区别
- 查看rpm包内容和解压获取rpm包文件
- F#入门-第二章 F#基础-第十节 引用类型
- aigle code,关于异常的处理
- Perl学习笔记
- 窗口及输入输出
- Eclipse+CDT+MinGw重构Axis2C
- JndiObjectFactoryBean渊源
- FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法
- 配置listener监听器
- 矩阵基本知识
- WEB页面信息的交互