Ejemplo n.º 1
0
        private Task HandleExceptionAsync(HttpContext context, Exception exception)
        {
            bool allowTraceDev = env.IsDevelopment();

            allowTraceDev = false;
            var message = ((allowTraceDev) ? exception.StackTrace : exception.Message);

            var statuscode = GetStatusCode(exception);

            if (exception.InnerException != null)
            {
                logger.LogError(exception, "Inner Exception : " + exception.InnerException.Message);
                message = message + (allowTraceDev ? exception.InnerException.StackTrace : exception.InnerException.Message);
            }

            if (exception is SqlException)
            {
                //resp = AppResponse.BadRequest("Server Error");
                logger.LogError(exception, "Sql Exception : " + exception.Message);
            }
            else if (exception is AppException)
            {
                statuscode = 400;
                logger.LogError(exception, "AppException : " + exception.Message);
            }
            else
            {
                logger.LogError(exception, "Unknown Exception : " + exception.Message);
            }
            context.Response.ContentType = "application/json";
            context.Response.StatusCode  = statuscode;
            var resp = AppResponse.SystemError(message);

            return(context.Response.WriteAsync(JsonConvert.SerializeObject(resp, Formatting.Indented)));
        }