我有一个启动.exe的进程会抛出异常。有没有办法让流程捕捉异常?进程捕获异常
我已经试过这至今:
Assembly assembly = Assembly.LoadFrom("ConsoleApplication1.exe");
Type[] types = assembly.GetTypes();
foreach (Type t in types)
{
MethodInfo method = t.GetMethod("Main",
BindingFlags.Static | BindingFlags.NonPublic);
if (method != null)
{
try
{
method.Invoke(null, null);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
break;
}
}
,但我得到一个异常的第一行,说是.exe文件无法找到。 我也试过这样:
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "C:\\Users\\John\\Documents\\Visual Studio 2010\\Projects\\ConsoleApplication1\\ConsoleApplication1\\bin\\Debug\\ConsoleApplication1.EXE";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
但是当我调试,没有任何异常,而ConsoleApplication1.exe中没有显示出来。
我实际上没有看到第一个代码块(通过反射调用一个方法)和第二个(启动一个进程)之间的连接,但为什么不使用这个完整路径(来自第二个例子)第一个例子,看看会发生什么? – Groo
如果您被告知文件cannon被找到,那么您的目录路径是错误的。设置工作目录。 –