Пример #1
0
 /// <summary>
 /// 运行并捕获指定方法可能出现的异常,以指定方式处理异常
 /// </summary>
 /// <param name="action">需要执行和捕获异常的无返回值的方法</param>
 /// <param name="catchActon">异常处理方式</param>
 /// <param name="finallyAction">在finally中执行的方法,可赋值为null</param>
 /// <returns></returns>
 public static void TryRun(this Action action, ICatchAction catchActon, Action finallyAction = null)
 {
     try
     {
         action();
     }
     catch (Exception ex)
     {
         DefaultCatchAction.Invoke(ex);
     }
     finally
     {
         finallyAction?.Invoke();
     }
 }
Пример #2
0
 /// <summary>
 /// 运行并捕获指定方法可能出现的异常,以指定方式处理异常
 /// </summary>
 /// <typeparam name="T">方法的返回值</typeparam>
 /// <param name="func">需要执行和捕获异常的有返回值的方法</param>
 /// <param name="catchActon">异常处理方式</param>
 /// <param name="finallyAction">在finally中执行的方法,可赋值为null</param>
 /// <returns></returns>
 public static T TryRun <T>(this Func <T> func, ICatchAction catchActon, Action finallyAction = null)
 {
     try
     {
         return(func());
     }
     catch (Exception ex)
     {
         catchActon.Invoke(ex);
         return(default(T));
     }
     finally
     {
         finallyAction?.Invoke();
     }
 }