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));
        }
Esempio n. 2
0
        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));
 }