public async Task <QueryResponse> Handle(TCommand request, CancellationToken cancellationToken) { var response = new QueryResponse(); try { var result = await ExecuteAsync(request); response.Result = result; } catch (SafeException ex) { response.AddHandledError(ex.Message); } catch (Exception ex) { response.AddUnhandledError(ex.Message); StoreDiagnosticsData(request, ex); } return(response); }