Пример #1
0
        public override void OnException(ExceptionContext context)
        {
            HttpStatusCode status;
            string         message;

            var exceptionType = context.Exception.GetType();

            if (exceptionType == typeof(UnauthorizedAccessException))
            {
                message = "Access to the Web API is not authorized.";
                status  = HttpStatusCode.Unauthorized;
            }
            else if (exceptionType == typeof(DivideByZeroException))
            {
                message = "Internal Server Error. Msg: " + JsonConvert.SerializeObject(context.Exception);
                status  = HttpStatusCode.InternalServerError;
            }
            else
            {
                message = "Internal Server Error. Msg: " + JsonConvert.SerializeObject(context.Exception);
                status  = HttpStatusCode.InternalServerError;
            }

            var oResponseErrorDto = new ResponseErrorDto
            {
                Message = message,
                Type    = exceptionType.ToString(),
            };
            var oCcResponseHelper = new ResponseHelper();

            context.Result = new ObjectResult(oCcResponseHelper.GenerarResponse500(oResponseErrorDto));

            base.OnException(context);
        }