Как отловить исключение в другом скрипте Powershell? - PullRequest
3 голосов
/ 13 мая 2010

У меня есть два скрипта Powershell; main.ps1 и sub.ps1. main.ps1 вызывает sub.ps1. Иногда sub.ps1 создает исключение. Можно ли поймать исключение, генерируемое sub.ps1 из main.ps1?

Пример main.ps1:

try{. .\sub.ps1;}
catch
{}
finally
{}

Пример sub.ps1:

throw new-object System.ApplicationException "I am an exception";

1 Ответ

5 голосов
/ 13 мая 2010

Вот простой пример:

try {
    sub.ps1
}
catch {
    Write-Warning "Caught: $_"
}
finally {
    Write-Host "Done"
}

Используйте help about_Try_Catch_Finally для более подробной информации. Еще один способ - использовать trap, см. help about_trap. Если у вас есть некоторый опыт работы с C # или C ++, я бы рекомендовал использовать подход Try_Catch_Finally (но это также зависит от того, что именно вы делаете).

...