re: 白馬非馬的面向對象分析 兼聽則明 2006-02-10 14:33
設計正方形為矩形的子類? 什么意思?
re: log,exception最佳實踐 兼聽則明 2006-01-20 17:28
使用 log4E 還是不錯滴......
re: Spring 中的異常悖論 兼聽則明 2006-01-20 17:24
to pesome:
同意
re: Spring 中的異常悖論 兼聽則明 2006-01-20 15:33
to yuxie:
如果數據庫記錄很多,checkUserExist(),成本很高,另外,如果有并發沖突時checkUserExist()將很可能失效。--如你所說!
re: Spring 中的異常悖論 兼聽則明 2006-01-20 13:42
to yuxie:
你說的很對,Spring最好不要侵入我們的領域。
但對于 “addUser() 可以拋出UserExistException 比 主鍵沖突的 DataAccessException好的多” 問題,我們怎樣才能處理到底是數據庫連接異常,還是僅僅是重復UserID的輸入錯誤(即主鍵沖突--業務主鍵)呢?
re: Spring 中的異常悖論 兼聽則明 2006-01-20 11:44
checked exception可以替代返回值::確實如此,實際上業務異常是以返回值的身份出現的,更不該是"異常",比如login()方法可能拋出 UnknownUserException,WrongPasswordException....
而 addUser() 可以拋出UserExistException 比 主鍵沖突的 DataAccessException好的多.
re: Spring 中的異常悖論 兼聽則明 2006-01-20 11:23
在充分設計和充分測試的情況下,這個問題可以被控制到很小的范圍,但是誰能保證設計和測試足夠"充分"呢?
re: Spring 中的異常悖論 兼聽則明 2006-01-20 11:20
to: yuxie
實際我都捕獲了,并忽略了----忽略也是一種“你說的恢復”,另外“不能被恢復的異常你要做成Runtime的”的問題在于現在Spring中把所有的異常都封裝成Runtime的了----當然,我們還可以通過捕獲處理我們想處理的問題。
re: Spring 中的異常悖論 兼聽則明 2006-01-20 10:39
to qiu:
然,Spring幫我捉了一只蟲,
你是否感謝MS幫你捉了 其他軟件的蟲呢 --------寫了半天帖子---系統崩潰,沒能保存----
在沒有上線時,觸發bug非常好!可是如果系統正式運行時發生的癱瘓級異常,作為軟件開發者還會笑的出來嗎?
---顯然,使用某種通知機制通知管理員,由管理員來需求開發人員支持,好過使用系統宕掉的方式通知軟件開發者....
re: Spring 中的異常悖論 兼聽則明 2006-01-20 10:34
to: 王麻子
我覺得你說的是對的,但是有時候需求并沒有分析完全,在系統上線后才發生這個問題,即本該是“業務需求拋出一系列的應用異常.”但實際拋出了RuntimeException,我認為同樣不該展現給客戶“異樣”的異常:
例:----僅僅是例子!
我使用Qutarz作調度,當一個調度不能被fire時,它將拋出RuntimeException,我們的測試(案例)沒有發現這個情況,到系統上線時,拋出異常,如果隨便給客戶一個"系統錯誤",我認為是很不好的,因為客戶會認為發生了很嚴重的錯誤,實際只是簡單的輸入錯誤而已,即按年調度,但在開始時間到結束時間端內沒有該調度觸發的時機。
re: Spring 中的異常悖論 兼聽則明 2006-01-20 10:25
to: darkbluefeeling
當然,如果重要的系統部分不能init成功,系統應該首先排錯;但如果只是很小的一個部分不能init成功--就造成系統不能啟動,我認為是系統設計有問題。
比如:如果聲卡驅動裝載不成功,操作系統就不能啟動,只是 "蘭屏",你將大罵操作系統,而如果硬盤有故障,操作系統不能引導,則是罵不到操作系統。
re: 如果把道路稍微修改.. 兼聽則明 2006-01-19 21:52
我覺得是個好辦法, 我也曾經這么想過,只是有隔離帶的路比較麻煩(北京好多路都有隔離欄、墩)
re: 白馬非馬的面向對象分析 兼聽則明 2006-01-19 21:41
呵呵,真的不知呀,我隨便想到瞎寫的