前段時間利用了一點空閒時間優化了專案中的**,其中減少try/catch是這次優化的重點。
主要是參考了老a的大作:如何編寫沒有try/catch的程式
,看了一下,老a主要介紹了怎麼減少按鈕事件中的try/catch,不過我們專案是wcf,基本上就沒有按鈕事件,不過老a也提供了乙個很好的思路,那就是利用委託動態的為每個方法加上try/catch,有了這個思路之後就很好做了。
核心**:
1private t invokehandler(string clientname, string methodname, delegate delegatewarpper, object
parameters)211
catch
(targetinvocationexception exception)
1215
return
default
(t);
16 }
原有的呼叫方式:
1public list getnames(string
clientname)2;
8}9catch
(exception exception)
1013
return
null
;14 }
現在的呼叫方式:
1public list getnames(string
clientname)2;
6//然後呼叫助手方法就可以了
7return invokehandlerstring>>(clientname, "
getnames
", func, null
);8 }
通過舊的和新的呼叫方式比較,發現**有了很大的縮減,而且從**整潔的角度來看新的呼叫方式更加優美。
這個方法不是萬能的,不過應對80%的情況還是沒有問題滴!
好了,如果園友很有什麼好的看法,提出來分享下,thanks.......
最後祝大家2013春節快樂!
以同步至:個人文章目錄索引
python 學習筆記(二十三)
coding utf8 author liwei import re python正則的應用,math方法判斷正則是否匹配成功 print 正則簡單用例 text hello liwei is 25 if re.match r w s w s w s d text print ok else pri...
我的程式設計之路 二十三 征途
1.第一次坐飛機 終於要坐飛機了,不免有點激動哈!和杰哥 為哥三個一起,中午在華師那邊坐的機場大巴一路到了機場,機場很大,我們先去列印登機牌,然後去託運行李,由於不知道含有鋰電池的不能託運,所以不得不把膝上型電腦從行李廂中取出,不過我的箱子是我們三個之中最大的!乙個人的行李不能超過20kg,還好我的...
Python小白學習之路(二十三) 生成器補充
接著下雞蛋和吃包子!總是把生成器比喻成母雞下雞蛋,需要乙個下乙個,首先是下出來的雞蛋不能塞回 母雞肚子裡,其次是乙個母雞一生只能下一定數量的雞蛋,下完了就死掉了 通過程式來理解什麼意思 程式一 deftest for i in range 2 yield it test for i in t pri...