For å fikse dette, se etter feil syntaks
- Hvis Try-Catch ikke fungerer på PowerShell, må du se etter feil syntaks og feilhandlingsverdier.
- Denne veiledningen vil forklare de forskjellige måtene å løse problemet på.

XINSTALLER VED Å KLIKKE LAST NED FILEN
- Last ned Restoro PC Repair Tool som følger med patentert teknologi (patent tilgjengelig her).
- Klikk Start søk for å finne Windows-problemer som kan forårsake PC-problemer.
- Klikk Reparer alle for å fikse problemer som påvirker datamaskinens sikkerhet og ytelse.
- Restoro er lastet ned av 0 lesere denne måneden.
Try-Catch-uttalelsen i Kraftskall håndterer feil og unntak i koden din. Hvis Try-Catch ikke fungerer som unntatt på PowerShell, kan det være frustrerende.
I denne veiledningen vil vi dekke alle måter å fikse problemet på sammen med de sannsynlige årsakene til problemet. La oss begynne!
Hva er årsaken til at Try-Catch ikke fungerer i PowerShell?
Det kan være ulike grunner til at erklæringen ikke fungerer på PowerShell. Her er noen av de vanligste:
- Standard errorAction sett – Hvis ErrorAction er satt til Fortsett, så vil ikke Try-Catch fungere som forventet.
- Syntaksfeil – Hvis syntaksen som brukes er feil, formateringen er feil, eller den mangler nøkkelord, vil ikke Try-Catch fungere.
- Cmdlet- eller funksjonsadferd – Noen funksjoner og cmdlets kommer med feilhåndteringsadferd, som kanskje ikke er kompatible med Try-Catch.
- Feil logikk eller bruk av variabler – Hvis det er en upassende bruk av variabler eller feil logikk, vil ikke Try-Catch fungere.
Hva kan jeg gjøre hvis Try-Catch ikke fungerer på PowerShell?
1. Sjekk Syntaks
- Først må du sjekke om du har brukt riktig syntaks for versjonen av PowerShell du bruker.
- Deretter kontrollerer du at du har plassert Try and Catch-blokkene i riktig rekkefølge.
- Den grunnleggende syntaksen for Try-Catch er nevnt nedenfor. Erstatt # kode for å kjøre her med koden og # feilhåndteringskode her med feilhåndteringskoden:

Prøv {
# kode for å kjøre her
}
Å fange {
# feilhåndteringskode her
}
2. Sjekk om du fanger en spesifikk feil
Du må bekrefte om du fanger spesifikke feil du vil håndtere og ikke alle feilene. Følg disse trinnene for å gjøre det samme:
- trykk
Windows
nøkkel, skriv Kraftskall, og klikk Kjør som administrator. - For å fange opp en feil, må du bruke $ variabel i Catch-blokken for å få tilgang til informasjon om feilen som ble kastet. La oss sjekke eksemplet på det samme for å forstå bedre:
Prøv {
Get-ChildItem -Path C:\DoesNotExist
}
Å fange {
hvis ($_.Unntak. GetType().Name -eq "DirectoryNotFoundException") {
Write-Output "Funner ikke katalog."
}
annet {
kaste $_.Unntak|
}
}
3. Angi ErrorAction-verdi
Standardverdien for ErrorAction er Continue; For at Try-Catch skal fungere, må du imidlertid sette ErrorAction-verdien til Stop. For å gjøre dette, følg disse trinnene:
- Åpen Kraftskall som administrator.
- Du må bruke Set-StrictMode-cmdleten eller ErrorAction-parameteren på individuelle cmdlets. For å forstå det bedre, la oss se på et eksempel:

Prøv {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Å fange {
Write-Output $_.Unntak. Beskjed
}
- Slik gjenoppretter du BitLocker-nøkkelen fra OneDrive
- Slik bruker du Phone Link for iPhone på Windows 11
- DaVinci Resolve High CPU-bruk: Hvordan redusere det
4. Bruk riktig unntakstype

Det er viktig å bruke riktige unntak når du bruker Try-Catch, da det kun kan håndtere unntak av systemet. Unntakstype. Hvis du har brukt ikke-System. Unntaksfeil, da vil ikke Try-Catch fungere.
Når det gjelder ikke-System. Unntak, du må bruke NET"-rammeverkets feilhåndteringsmekanisme eller fange opp feilen.
5. Unngå skriptavslutning
Hvis skriptet ditt avsluttes før det når Catch-blokken, vil Try-Cach ikke få en sjanse til å håndtere feilen. Følg disse trinnene for å unngå skriptavslutning:
- Lansering Kraftskall med administratorrettigheter.
- Du må bruke Fortsette uttalelse etter Å fange blokkere. La oss forstå det med et eksempel:

Prøv {
Get-ChildItem -Path C:\DoesNotExist
}
Å fange {
Write-Output $_.Unntak. Beskjed
Fortsette
}
6. Bruk Try-Catch-Endelig
Hvis Try-Catch-setningen fortsatt ikke fungerer, kan du bruke Try-Catch-Finally-konstruksjonen i stedet. Dette sikrer at koden din kjører til fullføring, selv om det oppstår et unntak.
- Åpen Kraftskall som administrator.
- Skriv inn kommandoen med Prøv-fang-endelig. Her er et eksempel for å forstå skriptet bedre:

Prøv {
# Koden din her
}
Fang [System. Unntak] {
# Unntakshåndteringskode her
}
Endelig {
# Oppryddingskode her
}
Så dette er måter du kan løse problemet med at Try Catch ikke fungerer på PowerShell. Hvis du har spørsmål knyttet til Try-Catch, vennligst nevne dem i kommentarfeltet nedenfor. Vi hjelper deg gjerne!
Hvis du vil vite hvordan du stopper PowerShell fra å lukkes etter å ha kjørt et skript, du kan lese dette.
Har du fortsatt problemer? Løs dem med dette verktøyet:
SPONSERT
Hvis rådene ovenfor ikke har løst problemet, kan PC-en oppleve dypere Windows-problemer. Vi anbefaler laster ned dette PC-reparasjonsverktøyet (vurdert Great på TrustPilot.com) for enkelt å løse dem. Etter installasjonen klikker du bare på Start søk og trykk deretter på Reparer alle.