C# - 在异常时停止Forms应用程序

时间:2017-11-13 09:48:37

标签: c# winforms exception-handling

我正在创建一个Windows窗体应用程序,我需要一些小的帮助来处理异常。

我的应用程序将做什么(概述):从一开始就从用户那里获取输入。当用户单击Finish按钮时,将处理输入。基于给定的输入,执行某些计算。在此之后,使用msiexec /x命令卸载应用程序(作为单独的进程启动)。

如果在输入处理时间内(即卸载任务之前)出现异常,我将调用Application.Exit()方法。以下代码段可能会给您一个想法:

try
{
    //some processing
}
catch (Exception exc)
{
    DisplayErrorMessage();
    WriteToLog(exc.Message);
    WriteToLog("Inner Exception: " + exc.InnerException);
    Application.Exit();
}

我的观察:如果在处理期间遇到任何异常,Process.Start()方法将返回null

有人能说出为什么会这样吗?有办法克服这个问题吗?

P.S:我如何修改我的代码,以便在以前发生异常时,进程甚至不会启动?

1 个答案:

答案 0 :(得分:0)

我已经发现调用Environment.Exit(1)实际上会终止表单应用程序,而不是通过调用Application.Exit()方法来完成。

可以从以下链接获取更多信息:How to properly exit a C# application?