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.
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-Key: 289862

Url: https://administrator.de/contentid/289862

Printed on: April 18, 2024 at 08:04 o'clock

Member: colinardo
Solution colinardo Dec 02, 2015 updated at 10:24:40 (UTC)
Goto Top
Hallo emeriks,
füge einfach an den Add-Type Befehl hinten noch ein -EA Stop an face-wink
try{
    Add-Type -AssemblyName System.IO.Compression -EA Stop
}catch{
    write-host $_.Exception.Message -ForegroundColor Yellow
}
Grüße Uwe
Member: emeriks
emeriks Dec 02, 2015 updated at 10:27:45 (UTC)
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".
Member: colinardo
colinardo Dec 02, 2015 updated at 10:32:31 (UTC)
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