2008-10-23 78 views
6

我目前正在编写一个承载多个模块的服务器。服务器在单独的AppDomain中运行每个模块。我想实现的是异常隔离,即当一个模块抛出一个异常时,我不希望整个过程终止,就是这个特定的AppDomain。我知道,当不同线程中的所有未捕获的异常被吞噬时,我可以告诉CLR回退到旧的行为(.NET 1.0)。但是,这不是最“优雅”的解决方案。在C#控制台应用程序中处理未捕获的异常

回答

7

如何订阅此事件:

AppDomain.CurrentDomain.UnhandledException 

你必须从Object类型强制转换ExceptionObject属性例外。

希望有所帮助。

+0

不幸的是,这不是异常处理程序,而只是通知您有关未处理的异常。总之所有的应用程序仍然会崩溃:( – paszczi 2008-10-23 15:22:07

相关问题