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

pas*_*czi 6 .net c# mono exception appdomain

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

Iga*_*nik 7

如何订阅此活动:

AppDomain.CurrentDomain.UnhandledException
Run Code Online (Sandbox Code Playgroud)

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

希望有所帮助.