Если exe-файл неуправляемый, вы не можете отловить исключения, которые он выдает.
Что вы можете сделать, это проверить код ошибки после завершения процесса. Для этого используйте класс Process
для запуска exe. У него есть свойство, которое дает вам код выхода.
Если бы exe был управляемой сборкой, вы могли бы запустить его в отдельном домене приложений и отловить исключение, которое он выдал.