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)=>{
// 出錯后要執行的操作
});

如果還有人有更好的方法,請交流下!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM