从制造到创造
软件工程师成长之路
posts - 292,  comments - 96,  trackbacks - 0
1、未知异常
    Security Manage系统中新增功能时报“未知异常”,后来在本地测试看Log信息知道是“空指针异常”,然后定位到抛出异常的位置:
iFuncNo = iFuncNo + 1;

然后单步调试,发现iFuncNo为Null,所以操作时会报空指针异常,这是iFuncNo的赋值语句:
            List list = functionDao.selectByParentId(functionVo.getParentId());
            
if (list != null && list.size() > 0) {
                Functiontb functb 
= (Functiontb) list.get(0);
                iFuncNo 
= functb.getFunctionNo();
从中可以看出,iFuncNo是一个Functiontb的属性,而且可能为空,如果不加判断直接用操作符对它进行操作,会报“空指针异常”。

iFuncNo用于菜单的排序,因为菜单是动态生成的,根据权限不同,看到的菜单也不同,而且应该可以根据客户的要求对菜单排序,所以增加了这个字段,但是由于这个字段是后来新增的,所以数据库中的某些记录该字段的值为空。在程序中先判断一下就可以了,如果为空,就置为0;
            List list = functionDao.selectByParentId(functionVo.getParentId());
            
if (list != null && list.size() > 0) {
                Functiontb functb 
= (Functiontb) list.get(0);
                iFuncNo 
= functb.getFunctionNo();
                
if (null == iFuncNo) {// 如果資料庫中該欄位的值為null,則先置為0
                    iFuncNo = 0;
                }
                iFuncNo 
= iFuncNo + 1;
            }
这样就OK了。

2、季帐单的团体险及意外险部分的数据在生成的PDF报表中看不到。

原因:手工输入数据时,弱体等级(标准体、次标准体)栏位不是必填的,也就是说值可以为空,但是我生成报表时是按照这两种弱体等级来生成报表的,所以没有在报表中。就好像一个公共厕所,上面写着“男”和“女”,这时候来了一个性别为“空”的人,我肯定不好让“他/她”进其中的任何一个地方了。

今天要客户确认一下怎么处理!
posted on 2007-11-20 09:18 CoderDream 阅读(326) 评论(0)  编辑  收藏 所属分类: 再保系统

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(9)

我参与的团队

随笔分类(245)

随笔档案(239)

文章分类(3)

文章档案(3)

收藏夹(576)

友情链接

搜索

  •  

积分与排名

  • 积分 - 456486
  • 排名 - 114

最新评论

阅读排行榜

评论排行榜