小编Jor*_*ima的帖子

处理C#中所有异常的最简洁方法

我一直在研究处理应用程序的所有异常的最佳方法,而不会弄乱代码.这里的主要目标是将有关异常的信息发送到外部平台,例如Application Insights.到目前为止,我发现了以下方法:

  • Castle Interceptor:
    这是迄今为止最好的方法,就是要截获的方法要么是方法是虚拟的,要么是必须接口的类.由于我正在开发一个非常大的应用程序,因此不需要这些更改.

  • 事件:
    使用AppDomain还会考虑使用UnhandledException,但由于我有几个需要进行大量更改的应用程序域,因此仅针对异常来处理类,这不是最佳的,因为类不应仅仅因为异常处理而混乱.除了AppDomains的数量,我还有几个运行的线程,这种处理程序不会捕获异常.

  • PostSharp:
    PostSharp与Castle的工作方式类似,如果我理解正确,这里的问题是我必须为我想截获的所有方法添加属性/装饰器,也不是一个非常好的方法.


如果有人对这里的最佳方法有任何建议,我将非常感激.

c# events castle-windsor exception-handling

5
推荐指数
1
解决办法
285
查看次数

标签 统计

c# ×1

castle-windsor ×1

events ×1

exception-handling ×1