Tworzenie i wrzucanie nowego wyjątku


Odpowiedzi:


200

Aby wywołać określony wyjątek, taki jak FileNotFoundException, użyj tego formatu

if (-not (Test-Path $file)) 
{
    throw [System.IO.FileNotFoundException] "$file not found."
}

Aby zgłosić wyjątek ogólny, użyj polecenia throw, po którym następuje ciąg.

throw "Error trying to do a task"

W przypadku użycia wewnątrz haczyka można podać dodatkowe informacje o tym, co spowodowało błąd


W C ++ odradza się rzucanie ciągów, ponieważ nie znajdują się one w hierarchii wyjątków. Po prostu działa, jak w Powershell, ale może nie jest to najlepszy sposób?
Raúl Salinas-Monteagudo

4
Jeśli używasz try..catches w swoim skrypcie i masz wiele instrukcji catch wywołujących określone wyjątki, to oczywiście chciałbyś określić typ wyjątku. Nie jestem pewien, dlaczego odwołuje się do C ++. W skryptach Powershell, instrukcja throw jest najczęściej przeznaczona do wyjścia ze skryptu za pomocą opisowej wiadomości. Nie chcę wywoływać debaty, ale Powershell i C ++ to skrajnie różne zwierzęta. Stosowanie najlepszych praktyk C ++ lub C # do programu PowerShell powinno być ograniczone, ponieważ skrypty są ściślej związane z programowaniem funkcjonalnym.
WiiBopp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.