我有一个windows form
应用程序和command prompt
exe。我正在执行命令提示符,其中win-form按钮单击
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "ConsoleApplication2.exe";
Process.Start(info);
我有一些按钮点击事件的操作,它是在调用exe后执行的。但我只需要在没有从命令提示符exe抛出异常的情况下执行。基本上需要的是从exe中冒出异常来获胜。我尝试抛出异常,但由于exe和win-from都是两个不同的应用程序实例,所以不会将异常抛出给调用者。有什么办法做到这一点吗?
您的代码激活了一个exe文件。请注意,您的程序和其他程序一样,正在返回一个代码。该返回代码可以通过执行以下操作来实现:
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "ConsoleApplication2.exe";
Process p = Process.Start(info);
p.WaitForExit();
int eCode = p.ExitCode;
请不要在主线程中这样做,因为在进程停止之前,它会停止。在ConsoleApplication2.exe中,确保在出现异常的情况下(在main
函数中)返回一个指示出错的代码(数字)。就这么简单:
static int Main()
{
try
{
// My code
}
catch (Exception)
{
return 5;// Meaning error
}
return 0; // all went better then expected!
}