在我的代码中,当发生以下任一情况时,我需要调用MSDN 中声明Process.Kill()
的抛出Win32Exception
- 无法终止关联的进程。
- 该过程正在终止。
- 关联的进程是一个 Win16 可执行文件。
有时我确实面对Win32Exception
消息Access is denied
并NativeErrorCode
设置为 5。MSDN 说这种组合发生在Kill()
进程终止时被调用时。其他两个案例没有详细记录。
所以我需要合理处理这种情况。当然我可以抓住Win32Exception
,但我怎么知道它到底为什么被抛出?如果进程已经终止并且可能在所有其他情况下重新抛出异常,我不需要做任何事情。
我如何识别和处理这种特定情况?