public async Task TryHandle(object msg, IMessageHandlerContext context, IInteractor svc) { try { await svc.Execute(msg); foreach (var e in svc.GetPublishedEvents()) { await context.Publish(e).ConfigureAwait(false); } } catch (DomainError ex) { Log.Error(ex.Name); } catch (Exception ex) { Log.Error(ex.Message); throw; } }