Comment tuer un processus sans l'obtention d'un “processus a quitté” l'exception"?

- Je utiliser Process.Kill() pour tuer un processus. Comme ceci:

if( !process.WaitForExit( 5000 ) ) {
   process.Kill();
}

et parfois, le processus de sortie à droite, entre les lignes, de sorte que le contrôle à l'intérieur if et puis Kill donnera une exception:

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

Maintenant enrouler le code try-catch ne semble pas être une bonne idée parce que InvalidOperationException peut être appelé pour d'autres raisons.

Est-il un moyen de tuer un processus sans recevoir une exception dans le scénario décrit?

Avez-vous essayé de vérifier l'exception interne? Peut vous donner une exacte exception à traiter.
Yeap, exception interne est nulle en tout temps.

OriginalL'auteur sharptooth | 2012-11-26