Ich versuche, etwas ähnliches zu schreiben:Wie lässt Powershell eine in einer Funktion generierte Ausnahme auslösen?
function Do-Something() {
Write-Host "Starting something"
Do-SomethingWhichThrowsAnException
Write-Host "Something completed successfully"
}
...
function Process-Thing() {
try {
Do-OneThing
Do-TwoThing
Do-Something
Do-SomethingElse
}
catch {
Write-Host "Exception Caught!"
}
}
Und ich bekomme die folgende Ausgabe: „Exception abgefangen“
Starting something
{massive red exception text}
Something completed successfully
Warum ich nicht?
Warum sehe ich "Etwas erfolgreich abgeschlossen"?
Macht Powershell einfach nicht werfen Ausnahmen den Stapel oder etwas?
Wenn ja, ist es möglich, es in Vorlage zu schlagen? Muss ich in jeder meiner Do-XXXthing
Funktionen versuchen/fangen? diese
'$ ErrorActionPreference' – PetSerAl
Ich sehe Sie nicht, dass Sie die' Process-Thing' Funktion ausgeführt haben. Die Funktion aufrufen. Es fängt den Fehler auf. Wenn Sie möchten, kann ich den Screenshot teilen und sicherstellen, dass die Voreinstellung für die Fehleraktion überprüft wird –