码迷,mamicode.com
首页 > 其他好文 > 详细

Core3.0全局捕获异常

时间:2020-06-02 14:53:47      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:exce   sof   sem   amp   pac   netcore   src   ==   spn   

前言

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

步骤

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; 不传递值,导致发出异常

技术图片

 

Core3.0全局捕获异常

标签:exce   sof   sem   amp   pac   netcore   src   ==   spn   

原文地址:https://www.cnblogs.com/masonblog/p/13031107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!