2010-12-07 7 views

Répondre

0

Si le fichier exe n'est pas géré, vous ne pouvez pas intercepter les exceptions qu'il déclenche.

Ce que vous pouvez faire, c'est vérifier son code d'erreur une fois le processus terminé. Pour ce faire, utilisez la classe Process pour lancer l'exe. Il a une propriété qui vous donne le code de sortie.

Si l'exe était un assembly géré, vous auriez pu l'exécuter dans un AppDomain distinct et récupérer l'exception qu'il a générée.

+0

Mais je ne suis pas en train d'exécuter un assemblage, c'est juste un fichier exe (disons le fichier exécutable d'un programme c). –

+0

Donc, le code de sortie du processus est ce que vous avez. Un programme C n'a même pas d'exceptions ... – Ran

+0

Supposons qu'un programme C ait le code "int a = b/0;". Donc, au moment de l'exécution, il crée une exception et affiche une boîte de message disant "Progam.exe a rencontré un problème, voulez-vous envoyer le rapport à Microsoft", avec "Envoyer", "Ne pas envoyer" bouton. –