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

标签 c# .net exception mono appdomain

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

最佳答案

如何订阅这个事件:

AppDomain.CurrentDomain.UnhandledException

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

希望对您有所帮助。

关于c# - 在 C# 控制台应用程序中处理未捕获的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228817/

相关文章:

c# - AMSI : perform malware scanning of large files by chunks

c# - 在 Windows 中运行 dotnet watch 时出错

java - 使用小程序上传大于 32KB 的文件时出现异常

.net - 为什么 SendMessageTimeout 不更新环境变量?

java - 按给定规则测试变量

c# - 判断是否因为抛出异常而执行到 finally block 中

c# - EF核心: "The LINQ expression could not be translated" when using explicit casting

C# asp.net 应用程序,对 Site.css 的更改似乎不会影响 Site.Master

c# - C#发送带附件的邮件

c# - 如何在表达式中获取引用类型的值?