Jump to content

Powershell trap


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo Leute,

bin neu hier und benötige Eure Hilfe:

In einem PS2-Script, das ich aus einer bat-Datei erstellen möchte, stehe ich vor folgendem Problem:

Einer zuvor als „local“ deklarierten Variablen wird innerhalb des Funktionskörpers einer trap-Anweisung auf gleicher Ebene ein Wert zugewiesen. Dieser Wert ist jedoch außerhalb der trap-Funktion nicht erkennbar. Dieses Verhalten widerspricht meiner Meinung nach den Gültigkeitsregeln. Was kann ich tun, um den Wert dieser Variablen dennoch im Script ausserhalb von trap weiterverarbeiten zu können?

Beispiel:

$local:a=“A“ (eigentlich ist „local“ nicht erforderlich, weil alles auf der gleichen Ebene, „global“ nutzt übrigens auch nichts)

Irgendwo im Script steht “throw” (zum testen)

trap{

$a=”X”

continue

}

trap wird ausgeführt und $a erhält den Wert "X" (schrittweise verfolgbar in ISE), aber nach trap:

$a

“A”

Innerhalb der trap-Funktion hat $a den Wert „X“, ausserhalb den Wert „A“. Weiß jemand, warum und was ich tun kann? Arbeitet PowerShell an dieser Stelle eventuell fehlerhaft?

 

Mit freundlichen Grüßen

wofast

Geschrieben

Ja, klar, Fehlerbehandlung, was sonst? Aber im Prinzip geht es darum, dass Powershell zumindest an dieser Stelle nicht sauber funktioniert. Jedenfalls habe ich keinerlei Hinweise gefunden, dass die Gültigkeitsregeln für Variablen in Verbindung mit Trap ausser Kraft gesetzt sind. Oder habe ich was übersehen?

Danke für den Hinweis auf try, catch, finally, schaue ich mir mal genauer an.

mfg

wofast

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...