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;
}
}
}
}