• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.netcore2.0中异常的处理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在开发中遇到一些关于如何抛出异常的困惑,在qq群里进行了讨论,有些人认为抛出异常是有理由的,可以对业务流程进行控制,而有些认为抛出异常会导致程序性能低下,我写一些自己的心得吧。

asp.net core中对于未处理的异常有一个处理全局未处理异常的中间件:app.userexceptoinhandler();,可以在StartUP类中的configure方法中对此中间件进行配置,该中间件一般是放在configure方法的最上面,这样的话从请求进入服务器的一开始该中间件就能捕获异常了。

 使用:app.UseExceptionHandler("/Home/Error");方法有几个重载,其中一个是直接输入一个字符串,该字符串指定了抛出异常时请求的controller和action。

Action异常的处理

另一种是异常过滤器,过滤器的作用是在 Action 方法执行前或执行后做一些加工处理。使用过滤器可以避免Action方法的重复代码,例如,可以使用异常过滤器合并异常处理的代码。过滤器是在StartUp类中的ConfgureServives方法中的services.addmvc方法中进行配置。

使用: 

 services.AddMvc(options=>
            {
                options.Filters.Add<XXX>();
            });

 

具体的使用方法见:https://www.cnblogs.com/tdfblog/p/filters-in-aspnet-core-mvc.html

异常处理的看法

有些观点认为程序发生异常时要返回状态码,有些认为直接抛出异常然后逐层处理,由于我涉及开发的时间较短,对异常的处理也没有什么好的见解,先记录在这里,以后慢慢整理吧。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap