处理C#控制台应用程序中未捕获的异常

本文关键字:异常 控制台 应用程序 处理 | 更新日期: 2023-09-27 17:48:49

我目前正在编写一个托管多个模块的服务器。服务器在单独的AppDomain中运行每个模块。我想要实现的是异常隔离,即当一个模块抛出异常时,我不希望整个过程终止,只希望终止这个特定的AppDomain。我知道,当不同线程中所有未捕获的异常都被吞噬时,我可以告诉CLR回退到旧的行为(.NET 1.0)。然而,这并不是最"优雅"的解决方案。

处理C#控制台应用程序中未捕获的异常

订阅此事件怎么样:

AppDomain.CurrentDomain.UnhandledException

您必须将ExceptionObject属性从类型Object强制转换为Exception。

希望能有所帮助。