Как выйти из функции в C #, не закрывая PowerShell - PullRequest
1 голос
/ 22 марта 2011

Я использую Powershell в качестве моей консоли. Я создал PSSnapin и добавил его в Powershell. Теперь я хочу, чтобы для какого-то исключения он завершился там, но так как я вызвал его из какой-то функции, он возвращает туда, что мне не нужно. Я хочу, чтобы он завершился в этот момент, только не закрывая консоль PowerShell. Я попытался Environment.Exit (0), но он закрывает консольное приложение. Есть ли другой способ выйти?

1 Ответ

2 голосов
/ 22 марта 2011

Оснастки запускаются в процессе PowerShell, и поэтому PowerShell пытается защитить себя, перехватывая исключения, которые выдает оснастка.Последнее, что вы хотите сделать, это вызвать Environment.Exit(), потому что это убьет процесс PowerShell.Вы можете либо позволить исключению выйти из вашей реализации командлета (или выбросить, если необходимо), но было бы лучше использовать метод ThrowTerminatingError() в вашем экземпляре PSCmdlet, чтобы сообщить о завершающем условии для вашего командлета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...