Exemplo n.º 1
0
        public static async Task EnsureErrorsLogged(IClientHandlerCallBack _callback, string sectionName, Func <Task> action)
        {
            try
            {
                await action();
            }
            catch (Error ex)
            {
                StatusSection status = new StatusSection(StatusSection.StateType.Failed, ex);

                Logger.Log(status.ToString(), LoggingLevel.Error);
                await _callback.ReportStatusAsync(sectionName, status);
            }
            catch (Exception ex)
            {
                Error         e      = new Error(ErrorSubSystem.Unknown, ex.HResult, ex.Message);
                StatusSection status = new StatusSection(StatusSection.StateType.Failed, e);

                Logger.Log(status.ToString(), LoggingLevel.Error);
                await _callback.ReportStatusAsync(sectionName, status);
            }
        }