/// <summary> /// Runs the task asynchronously and /// adds an error annotation in case of failure /// </summary> /// <param name="trace"></param> /// <param name="task"></param> public static async Task TracedActionAsync(this BaseStandardTrace trace, Task task) { try { await task; } catch (Exception ex) { trace?.Error(ex); throw; } }
/// <summary> /// Runs the task asynchronously with custom return type and /// adds an error annotation in case of failure /// </summary> /// <param name="trace"></param> /// <param name="task"></param> public static async Task <T> TracedActionAsync <T>(this BaseStandardTrace trace, Task <T> task) { try { return(await task); } catch (Exception ex) { trace?.Error(ex); throw; } }