コード例 #1
0
            public void OnException(ExceptionContext context)
            {
                int     statusCode = -1;
                EventId eventId    = new EventId(context.Exception.HResult);

                _logger.LogError(eventId,
                                 context.Exception,
                                 context.Exception.Message);

                switch (context.Exception.GetType().Name)
                {
                case "StackException":
                    statusCode = (int)HttpStatusCode.BadRequest;
                    break;

                case "NotFoundException":
                    statusCode = (int)HttpStatusCode.NotFound;
                    break;

                default:
                    statusCode = (int)HttpStatusCode.InternalServerError;
                    break;
                }

                RespContainer <JsonException> container = RespContainer.Fail(new JsonException {
                    EventId = statusCode
                }, Regex.Unescape(context.Exception.Message));

                if (context.Exception is StackException we && (we.Errors.Count > 0))
                {
                    container.Data.DetailedMessages = we.Errors;
                }
コード例 #2
0
        /// <summary>
        /// GetExamples
        /// </summary>
        /// <returns></returns>
        public RespContainer <JsonException> GetExamples()
        {
            JsonException exception = new JsonException
            {
                EventId = 400
            };

            exception.DetailedMessages.Add("Username or Password is wrong");
            return(RespContainer.Fail(exception, "Credentials not sufficient"));
        }