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

Handling uncaught exceptions in C# console application

提问人:paszczi 提问时间:10/23/2008 最后编辑:Matthew Murdochpaszczi 更新时间:5/12/2011 访问量:3431

问:

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

C# .NET 异常 mono appdomain

评论


答:

8赞 Igal Tabachnik 10/23/2008 #1

订阅此活动怎么样:

AppDomain.CurrentDomain.UnhandledException

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

希望能有所帮助。

评论

0赞 paszczi 10/23/2008
不幸的是,这不是异常处理程序,而是仅通知您未处理的异常。总而言之,应用程序仍然会崩溃:(
0赞 Tim Davis 9/12/2015
当发生未经处理的异常时,从技术上讲,应用程序已经崩溃。这允许您执行操作并调试应用程序,或通知用户。