比如有一個 Person 類,現(xiàn)在里面有1個Add 方法,如果出現(xiàn)異常,進入catch 然后 再次調用Add 方法 計數(shù)器減一次,如果計數(shù)器小于0 ,那么就拋出異常,否則繼續(xù)調用Add 方法。現(xiàn)在 新增了很多方法,比如有 Delete,Update ,Putch, 等等,都需要支持調用失敗,重復嘗試調用,所以代碼需要重構,總不能每個方法里面都寫try catch 然后重復那種相同的邏輯,希望有大神能實現(xiàn)這個重構。
2 回答

qq_花開花謝_0
TA貢獻1835條經(jīng)驗 獲得超7個贊
Add方法應該沒有副作用。
重復幾次應該是調用者該干的事
可以寫個方法
Try<T>(Func<T> fun,int count){ while(true){ try{ return fun(); } catch(e){ count--; if(count < 0) throw e; } } }
調用的時候
var result = Try(()=>{return Add();},1 );
- 2 回答
- 0 關注
- 1152 瀏覽
添加回答
舉報
0/150
提交
取消