private Task HandleCustomExceptionAsync(HttpContext context, BaseCustomException baseEx) { context.Response.ContentType = "application/json"; context.Response.StatusCode = (int)baseEx.Code; var exceptionResponse = JsonConvert.SerializeObject(new { StatusCode = baseEx.Code, Message = baseEx.Message }); return(context.Response.WriteAsync(exceptionResponse)); }
private Task HandleExceptionAsync(HttpContext context, Exception Exception) { var response = context.Response; response.ContentType = "application/json"; ApiResult _customResult = null; switch (Exception) { case BaseCustomException e: // custom application error BaseCustomException _ex = e as BaseCustomException; response.StatusCode = _ex.ErrorCode; _customResult = new ApiResult { Code = _ex.ErrorCode, Message = _ex.Message }; break; default: // unhandled error response.StatusCode = (int)HttpStatusCode.InternalServerError; break; } string result; if (_customResult != null) { result = JsonSerializer.Serialize(_customResult); } else { result = JsonSerializer.Serialize(new { message = Exception?.Message }); } return(response.WriteAsync(result)); }
private void WriteErrorToLog(BaseCustomException exception, StreamWriter writer) { writer.WriteLine(string.Format("\"{0}\"", exception.CustomMessage)); }