我有一個啓動.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被找到,那麼您的目錄路徑是錯誤的。設置工作目錄。 –