using System; using System.Diagnostics; namespace TBL.CSharp.Base { public static partial class Extension { /// /// 对 的保护性调用 /// 能够避免发生异常时中断程序 /// /// 要执行的过程 /// 执行过程中抛出的异常,如果未抛出将会为 /// 是否执行成功 public static bool ProtectedInvoke(this Action action, out Exception exception) { Debug.Assert(action != null); try { action(); exception = null; return true; } catch (Exception e) { exception = e; return false; } } } }