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 閱讀(339)
評論(0) 編輯 收藏 所屬分類:
再保系統