我的应用程序中有以下代码在出现未处理的异常后运行:
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var exception = e.ExceptionObject as Exception;
if (exception != null) MessageBox.Show(exception.Message + " - " + exception.StackTrace);
}
但即使我捕获到未处理的异常,我的 Windows 移动应用程序也会关闭。当我捕获未处理的异常时如何防止关闭应用程序。我永远不想关闭我的应用程序。我想在这种情况下打开登录表单或其他任何不关闭应用程序的情况。
所以我想要的是防止关闭应用程序未处理的异常,如网络中断,...
我不能在每个代码中都使用 try catch ....
知道如何防止在网络中断或任何其他未处理的异常时关闭应用程序吗?
最佳答案
你不知道。当您收到 AppDomain 未处理的异常时,您的应用程序不再处于稳定状态。您具体要恢复到哪里?当你到了那个地步时,你唯一的选择,有充分理由,就是退出。你可以合理地 schedule yourself再次运行以确保应用程序返回,但更好的想法是在源头实际处理异常并防止它成为 UnhandledException。
关于c# - 如何在未处理的异常后继续运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803168/