【发布时间】:2012-11-13 22:01:37
【问题描述】:
我使用Process.Kill() 杀死一个进程。像这样:
if( !process.WaitForExit( 5000 ) ) {
process.Kill();
}
有时进程会在两行之间退出,所以控制会进入if,然后Kill会产生异常:
System.InvalidOperationException
Cannot process request because the process (ProcessIdHere) has exited.
at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
at System.Diagnostics.Process.Kill()
//my code here
现在将代码包装到 try-catch 中似乎不是一个好主意,因为可以出于其他原因调用 InvalidOperationException。
在所描述的场景中,有没有办法杀死一个进程而不会出现异常?
【问题讨论】:
-
你试过检查内部异常吗?可能会给你确切的例外来处理。
-
@Yahya:是的,内部异常始终为空。