C# 統一對 try...catch 的調用,方便保存錯誤日志。
每個優秀的開發人員,應該盡可能保證程序穩定運行,在確實不需要使用try...catch的地方盡盡量不要使用以提高程序性能。
但是我們不可能保證每段代碼不會出錯,由于出錯引起的用戶界面并不友好,而且有可能會導致整個程序崩潰,所以我們在可能出錯的地方經常會try...catch捕獲異常,這樣可以把異常保存到日志,提供給用戶一個友好的提示。
但是一個大項目到處都是 try...catch 不太容易維護。以下是我自己項目里面寫的兩個方法:(.Net 4.0)
public static bool TryExec(Action action) { try { action(); return true; } catch (Exception ex) { // 保存日志 } return false; } public static bool TryExec(Action action, Action<Exception> actionFailed) { try { action(); return true; } catch (Exception ex) { // 保存日志 actionFailed(ex); } return false; }
調用也比較簡單:
TryExec(()=>{ // 要執行的操作 }); 或 TryExec(()=>{ // 要執行的操作 }, (ex)=>{ // 出錯后要執行的操作 });
如果還有人有更好的方法,請交流下!

浙公網安備 33010602011771號