我正在创建一个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:我如何修改我的代码,以便在以前发生异常时,进程甚至不会启动?
答案 0 :(得分:0)
我已经发现调用Environment.Exit(1)
实际上会终止表单应用程序,而不是通过调用Application.Exit()
方法来完成。
可以从以下链接获取更多信息:How to properly exit a C# application?