Подтвердить что ты не робот

У Windows Powershell есть механизм Try/Catch или другой механизм обработки ошибок?

В script, когда ошибка командной строки или другого исполняемого файла выходит из строя, существует ли механизм try/catch для восстановления после этих ошибок? Я не сталкивался с одним в документации.

4b9b3361

Ответ 1

Вы используете блок Trap [exception-type] {} перед кодом, для которого вы хотите обрабатывать исключения для.

Ответ 2

Я написал об этом в моей колонке TechNet Magazine (technetmagazine.com, если вам интересно).

Во-первых, PowerShell v2 будет иметь стандартный Try... Catch, который замечательный.

Существующая оболочка (v1) имеет поддержку конструкций trap {}. Они должны быть определены до возникновения исключения. Кроме того, большинству командлетов требуется параметр -EA "STOP", чтобы они могли генерировать исключение с помощью trappable. Ловушки могут быть определены в любой области и будут "пузыряться" до тех пор, пока они не попадут в ловушку или пока не попадут в глобальную область (оболочку).

В конце ловушки выполните Continue, чтобы вернуться к следующей строке кода в той же области, что и ловушка, или выполните Break, чтобы покинуть текущую область действия и отбросить исключение.