• Core3.0全局捕获异常


    前言

    此方法由百度所得,找不到原文链接了

    步骤

    1.创建异常捕获类

    using Microsoft.AspNetCore.Http;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.AspNetCore.Mvc.Filters;
    using System.Threading.Tasks;
    
    namespace NoteServer.Core
    {
        /// <summary>
        /// 自定义webapi异常处理
        /// </summary>
        public class SMExceptionFilter : IExceptionFilter
        {
            /// <summary>
            /// 发送异常时执行的代码
            /// </summary>
            /// <param name="context"></param>
            public void OnException(ExceptionContext context)
            {
                var res = new ResResult();
                res.Code = StatusCodes.Status500InternalServerError;
                res.Msg = "接口开小差了";
                if (context != null && context.Exception != null && !context.Exception.Message.IsEmpty())
                {
                    res.Msg += "" + context.Exception.Message;
                }
                string errRet = res.ToJson();
                if (context.ExceptionHandled == false)
                {
                    context.Result = new ContentResult
                    {
                        Content = errRet,
                        StatusCode = StatusCodes.Status200OK,
                        ContentType = "application/json"
                    };
                }
                context.ExceptionHandled = true;
            }
            /// <summary>
            /// 异步发送异常时执行的代码
            /// </summary>
            /// <param name="context"></param>
            /// <returns></returns>
            public Task OnExceptionAsync(ExceptionContext context)
            {
                OnException(context);
                return Task.CompletedTask;
            }
        }
    }

    2.在StartUp.cs中注册

                services.AddControllers(option =>
                {
                    option.Filters.Add(new Core.SMExceptionFilter());
                });

    测试执行

     int page; 不传递值,导致发出异常

  • 相关阅读:
    day34-python-异常
    day33-python-反射、内置方法、元类、 属性查找
    day31/32待补
    day30-mixin、重载、多态、绑定与非绑定方法、内置函数
    day29-python-property、继承、属性查找、多继承带来的菱形问题
    day28-python-封装
    day27-python-面向对象介绍、实现面向对象编程、查找顺序
    luffy项目
    oc基本数据类型
    iOS 入门了解
  • 原文地址:https://www.cnblogs.com/masonblog/p/13031107.html
Copyright © 2020-2023  润新知