protected async Task HandleException(IRequest httpReq, IResponse httpRes, string operationName, Exception ex) { var errorMessage = $"Error occured while Processing Request: {ex.Message}"; HostContext.AppHost.OnLogError(typeof(HttpAsyncTaskHandler), errorMessage, ex); try { await HostContext.RaiseAndHandleUncaughtException(httpReq, httpRes, operationName, ex); } catch (Exception writeErrorEx) { //Exception in writing to response should not hide the original exception Logger.Info("Failed to write error to response: {0}", writeErrorEx); //rethrow the original exception throw ex; } finally { httpRes.EndRequest(skipHeaders: true); } }
protected Task HandleException(IRequest httpReq, IResponse httpRes, string operationName, Exception ex) { var errorMessage = string.Format("Error occured while Processing Request: {0}", ex.Message); Log.Error(errorMessage, ex); try { HostContext.RaiseAndHandleUncaughtException(httpReq, httpRes, operationName, ex); return(EmptyTask); } catch (Exception writeErrorEx) { //Exception in writing to response should not hide the original exception Log.Info("Failed to write error to response: {0}", writeErrorEx); //rethrow the original exception return(ex.AsTaskException()); } finally { httpRes.EndRequest(skipHeaders: true); } }