For at rette dette skal du se efter forkert syntaks
- Hvis Try-Catch ikke virker på PowerShell, skal du kontrollere for forkerte syntaks- og fejlhandlingsværdier.
- Denne vejledning vil forklare de forskellige måder at løse problemet på.

xINSTALLER VED AT KLIKKE PÅ DOWNLOAD FIL
- Download Restoro PC Repair Tool der følger med patenterede teknologier (patent tilgængeligt her).
- Klik Start scanning for at finde Windows-problemer, der kan forårsage pc-problemer.
- Klik Reparer alle for at løse problemer, der påvirker din computers sikkerhed og ydeevne.
- Restoro er blevet downloadet af 0 læsere i denne måned.
Try-Catch-erklæringen i PowerShell håndterer fejl og undtagelser i din kode. Hvis Try-Catch ikke virker som undtaget på PowerShell, kan det være frustrerende.
I denne vejledning vil vi dække alle måder at løse problemet på sammen med de sandsynlige årsager til problemet. Lad os begynde!
Hvad forårsager problemet med Try-Catch, der ikke virker i PowerShell?
Der kan være forskellige årsager til, at erklæringen ikke virker på PowerShell. Her er nogle af de mest almindelige:
- Standard ErrorAction sæt – Hvis ErrorAction er indstillet til Fortsæt, så virker Try-Catch ikke som forventet.
- Syntaksfejl – Hvis den anvendte syntaks er forkert, formateringen er forkert, eller den mangler nøgleord, vil Try-Catch ikke virke.
- Cmdlet- eller funktionsadfærd – Nogle funktioner og cmdlets kommer med deres fejlhåndteringsadfærd, som muligvis ikke er kompatible med Try-Catch.
- Forkert logik eller brug af variable – Hvis der er tale om en uhensigtsmæssig brug af variabler eller forkert logik, så virker Try-Catch ikke.
Hvad kan jeg gøre, hvis Try-Catch ikke virker på PowerShell?
1. Tjek syntaks
- Først skal du kontrollere, om du har brugt den korrekte syntaks til den version af PowerShell, du bruger.
- Derefter skal du kontrollere, at du har placeret Try and Catch-blokkene i den rigtige rækkefølge.
- Den grundlæggende syntaks for Try-Catch er nævnt nedenfor. Erstat # kode for at køre her med koden og # fejlhåndteringskode her med fejlhåndteringskoden:

Prøve {
# kode til at køre her
}
Fang {
# fejlhåndteringskode her
}
2. Tjek, om du fanger en specifik fejl
Du skal verificere, om du fanger specifikke fejl, du vil håndtere, og ikke alle fejlene. Følg disse trin for at gøre det samme:
- Tryk på
Windows
nøgle, type PowerShell, og klik Kør som administrator. - For at fange en fejl, skal du bruge $ variabel i Catch-blokken for at få adgang til information om fejlen, der blev kastet. Lad os tjekke eksemplet på det samme for bedre at forstå:
Prøve {
Get-ChildItem -Sti C:\DoesNotExist
}
Fang {
hvis ($_.Undtagelse. GetType().Name -eq "DirectoryNotFoundException") {
Write-Output "Mappen blev ikke fundet."
}
andet {
smid $_.Undtagelse|
}
}
3. Indstil ErrorAction-værdi
Standardværdien for ErrorAction er Continue; For at Try-Catch skal virke, skal du dog indstille ErrorAction-værdien til Stop. For at gøre dette skal du følge disse trin:
- Åben PowerShell som administrator.
- Du skal bruge cmdlet'en Set-StrictMode eller parameteren ErrorAction på individuelle cmdlet'er. For at forstå det bedre, lad os se på et eksempel:

Prøve {
Get-ChildItem -Sti C:\DoesNotExist -ErrorAction Stop
}
Fang {
Write-Output $_.Exception. Besked
}
- Sådan gendanner du din BitLocker-nøgle fra OneDrive
- Sådan bruger du Phone Link til iPhone på Windows 11
- DaVinci Resolve High CPU Usage: Sådan reduceres det
4. Brug den korrekte undtagelsestype

Det er vigtigt at bruge korrekte undtagelser, når du bruger Try-Catch, da det kun kan håndtere undtagelser fra systemet. Undtagelsestype. Hvis du har brugt ikke-System. Undtagelsesfejl, så virker Try-Catch ikke.
Hvad angår ikke-System. Undtagelse, du skal bruge NET"-frameworkens fejlhåndteringsmekanisme eller fange fejlen.
5. Undgå scriptafslutning
Hvis dit script bliver afsluttet, før det når Catch-blokken, vil Try-Cach ikke få en chance for at håndtere fejlen. Følg disse trin for at undgå scriptafslutning:
- Lancering PowerShell med administratorrettigheder.
- Du skal bruge Blive ved erklæring efter Fangst blok. Lad os forstå det med et eksempel:

Prøve {
Get-ChildItem -Sti C:\DoesNotExist
}
Fang {
Write-Output $_.Exception. Besked
Blive ved
}
6. Brug Try-Catch-Endelig
Hvis Try-Catch-sætningen stadig ikke virker, kan du bruge Try-Catch-Finally-konstruktionen i stedet. Dette sikrer, at din kode kører til fuldførelse, selvom en undtagelse er rejst.
- Åben PowerShell som administrator.
- Skriv kommandoen med Prøv-fang-endelig. Her er et eksempel for at forstå scriptet bedre:

Prøve {
# Din kode her
}
Fang [System. Undtagelse] {
# Undtagelseshåndteringskode her
}
Endelig {
# Oprydningskode her
}
Så dette er måder, hvorpå du kan løse problemet med Try Catch, der ikke virker på PowerShell. Hvis du har spørgsmål relateret til Try-Catch, bedes du nævne dem i kommentarfeltet nedenfor. Vi hjælper gerne!
Hvis du vil vide, hvordan du stopper PowerShell i at lukke efter at have kørt et script, du kan læse dette.
Har du stadig problemer? Løs dem med dette værktøj:
SPONSORERET
Hvis ovenstående råd ikke har løst dit problem, kan din pc opleve dybere Windows-problemer. Vi anbefaler download af dette PC-reparationsværktøj (vurderet til Great på TrustPilot.com) for nemt at løse dem. Efter installationen skal du blot klikke på Start scanning knappen og tryk derefter på Reparer alle.