0 Pluspunkte 0 Minuspunkte

Wenn ich in Powershell einen try-catch Block verwende wie kann ich dann unterscheiden ob z.B eine Datei nicht gefunden wurde oder ob zugriffsberechtigungen fehlen?

try {
    Remove-Item -Path "file.txt" -ErrorAction Stop
} catch {
    Write-Output "Error: $_"
}
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst verschiedene Arten von Exceptions gezielt abfangen, indem du im catch-Block den Typ der Exception angibst.

try {
    Remove-Item -Path "file.txt" -ErrorAction Stop
}
catch [System.UnauthorizedAccessException] {
    Write-Output "Zugriff verweigert"
}
catch [System.IO.FileNotFoundException] {
    Write-Output "Datei nicht gefunden"
}
catch {
    Write-Output "Allgemeiner Fehler: $_"
}
von (732 Punkte)