【发布时间】:2013-07-31 21:49:59
【问题描述】:
我希望使用 Process.Start() 来启动可执行文件,但我想继续执行程序,无论可执行文件是成功还是失败,或者 Process.Start() 本身是否引发异常。
我有这个:
myProcess.StartInfo.UseShellExecute = false;
// You can start any process, HelloWorld is a do-nothing example.
myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
我知道你可以将它添加到 try catch 中
try
{
myProcess.StartInfo.UseShellExecute = false;
// You can start any process, HelloWorld is a do-nothing example.
myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
如果找不到文件,尝试捕获版本是否会失败?如何处理 InvalidOperationException Win32Exception ObjectDisposedException 等其他异常
目标只是在失败时继续执行代码......
非常感谢!
【问题讨论】:
-
为什么不直接使用
File.Exists("exeFilePath")? -
"如果找不到文件,尝试捕获版本是否会失败?" - 如果您要捕获所有异常,它应该可以......
-
@Sayse@JonSkeetso 我应该使用 File.Exists 的第一个选项,我应该没问题?我的代码不会抛出 expetion 吗?我不介意执行的 te exe 是否引发异常...
-
我并不是说该异常不会发生,但它非常不太可能
-
“try catch 版本不会失败”中的“失败”是指“进入 catch 块”还是“程序崩溃”?
标签: c#