emeriks
Goto Top

Powershell Try - Catch

Hi,
ich habe ein PowerShell-Script geschrieben, welches u.a mit ZIP hantiert. Dafür greife ich auf System.IO.Compression zurück.
Nun weiß ich, dass das erst ab PS3 und .Net 4.5 funktioniert. Wenn drunter, dann wird eine Ausnahme ausgelöst, wie folgt:
Add-Type : Typ kann nicht hinzugefügt werden. Die Assembly "System.IO.Compression" konnte nicht gefunden werden.
Bei \\xxxxxx\xxxxx\xxxxxxx.ps1:109 Zeichen:11
+ Add-Type <<<< -AssemblyName System.IO.Compression
+ CategoryInfo : ObjectNotFound: (System.IO.Compression:String) [Add-Type], Exception
+ FullyQualifiedErrorId : ASSEMBLY_NOT_FOUND,Microsoft.PowerShell.Commands.AddTypeCommand

OK. Jetzt dachte ich mir, das Ganze einfach mit Try-Catch abzufangen, um dem Anwender eine "schöne" Meldung zu bringen.
1
2
3
4
5
6
try {
  Add-Type -AssemblyName System.IO.Compression
}
catch {
  Syntax   
}
("Syntax" ist meine Sub-Routine zum Ausgeben der Syntax bzw. der Systemanforderungen)

Der Haken: Er ruft zwar die Syntax-Routine auf, gibt aber trotzdem vorher noch die o.g. Ausnahme aus.

Wie kann ich das abfangen?

E.

Content-ID: 289862

Url: https://administrator.de/forum/powershell-try-catch-289862.html

Ausgedruckt am: 09.04.2025 um 22:04 Uhr

colinardo
Lösung colinardo 02.12.2015 aktualisiert um 11:24:40 Uhr
Goto Top
Hallo emeriks,
füge einfach an den Add-Type Befehl hinten noch ein -EA Stop an face-wink
1
2
3
4
5
try{
    Add-Type -AssemblyName System.IO.Compression -EA Stop
}catch{
    write-host $_.Exception.Message -ForegroundColor Yellow
}
Grüße Uwe
emeriks
emeriks 02.12.2015 aktualisiert um 11:27:45 Uhr
Goto Top
Ich hatte gehofft, dass Du Dich meldest ... face-wink

Danke, geht!

E.

Edit:
Hä? Wieso wird hier "f.u.n.z.t" (ohne Punkte) automatisch durch "geht" ersetzt? Sogar der Duden enthält dieses Wort als Synonym für "funktioniert".
colinardo
colinardo 02.12.2015 aktualisiert um 11:32:31 Uhr
Goto Top
Zitat von @emeriks:
Edit:
Hä? Wieso wird hier "f.u.n.z.t" (ohne Punkte) automatisch durch "geht" ersetzt? Sogar der Duden enthält dieses Wort als Synonym für "funktioniert".
Gut das sich wenigstens @Frank darum kümmert das sich die Leute hier wieder mit ordentlichen Wörtern unterhalten face-big-smile