Нет, Win32Exception
правильно. Если вы посмотрите немного больше на документацию MSDN :
Произошла ошибка при открытии соответствующего файла.
-или-
Сумма длины аргументов и длины полного пути к связанному файлу превышает 2080. Сообщение об ошибке, связанное с этим исключением, может быть одним из следующих: «Область данных, переданная системному вызову, слишком маленький." или «Доступ запрещен».
Акцент мой.
Я бы сказал, что это не очень ясно. Глядя на код с отражателем, похоже, согласен с документацией.
EDIT
Некоторые детали сантехники ..
Process.Start
будет выброшено Win32Exception
по многим причинам; довольно много, если что-то пойдет не так, начиная процесс. Внутренне .NET называется CreateProcessWithLogonW
, и в случае сбоя он создает исключение Win32Exception и устанавливает для свойства NativeErrorCode
значение, которое вернуло GetLastWin32Error
. Вы можете определить, почему он был брошен, посмотрев на этот код. Здесь есть поиск значения каждого кода здесь .