.net - 如何捕获 .net 程序集中所有未处理的异常(库类型,而不是应用程序)

标签 .net vb.net exception c#-3.0

我有一个包含许多类的程序集。这是一个类库类型程序集,而不是 Windows 窗体应用程序。它也是单线程的。

有没有办法捕获所有未处理的异常,以便我可以记录它们?

最佳答案

在我看来,将这样的逻辑放入库中并不是一个好主意。我认为决定如何处理异常(已处理和未处理)应该是应用程序的责任。不过你可以看看 AppDomain.UnhandledException 。您可以为 CurrentDomain 安装此类处理程序并在那里执行某些操作。然而,这样做会限制库的使用(例如暗示该库只能在一个域中使用)。此外,您还将收到所有未处理异常的通知,甚至与您的程序集完全无关的异常。

我认为更好的想法是允许使用您的库的开发人员处理所有未处理的异常(可能是应用程序安装的 UnhandledException)。

关于.net - 如何捕获 .net 程序集中所有未处理的异常(库类型,而不是应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637402/

相关文章:

c++ - 仅 Debug模式下的 FFMPEG 异常

c# - 什么构成 'redundant delegate creation' ?

c# - .net mvc 路由贪婪正则表达式

c# - 将 VB.NET 2005 项目转换为 C# 2008 项目

c# - 从 C# 到 VB.NET 的 Linq 查询

c++ - 析构函数中的异常错误

.net - PropertyDescriptor 有什么区别。属性类型和组件类型?

c# - 缩放和选择不适用于具有时间类型的 x 轴的 C# 图表

mysql - 未为类型 '&' 和 'String' 定义运算符 'Control'

objective-c - 为什么要释放此对象?