Sådan rettes Prøv Catch PowerShell, der ikke virker?

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å.
Prøv at fange powershell ikke virker

xINSTALLER VED AT KLIKKE PÅ DOWNLOAD FIL

For at løse forskellige pc-problemer anbefaler vi Restoro PC Repair Tool:Denne software vil reparere almindelige computerfejl, beskytte dig mod filtab, malware, hardwarefejl og optimere din pc til maksimal ydeevne. Løs pc-problemer og fjern virus nu i 3 nemme trin:
  1. Download Restoro PC Repair Tool der følger med patenterede teknologier (patent tilgængeligt her).
  2. Klik Start scanning for at finde Windows-problemer, der kan forårsage pc-problemer.
  3. 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

  1. Først skal du kontrollere, om du har brugt den korrekte syntaks til den version af PowerShell, du bruger.
  2. Derefter skal du kontrollere, at du har placeret Try and Catch-blokkene i den rigtige rækkefølge.
  3. 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:

  1. Tryk på Windows nøgle, type PowerShell, og klik Kør som administrator.Manuskript
  2. 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:

  1. Åben PowerShell som administrator.
  2. 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øv Catch with ErrorAction Stop PowerShell

Prøve {
Get-ChildItem -Sti C:\DoesNotExist -ErrorAction Stop
}
Fang {
Write-Output $_.Exception. Besked
}

Læs mere om dette emne
  • 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:

  1. Lancering PowerShell med administratorrettigheder.
  2. Du skal bruge Blive ved erklæring efter Fangst blok. Lad os forstå det med et eksempel:
prøv endelig at fange

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.

  1. Åben PowerShell som administrator.
  2. 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.

Fix: Windows PowerShell bliver ved med at åbne ved opstartsproblem på Windows 11 eller 10

Fix: Windows PowerShell bliver ved med at åbne ved opstartsproblem på Windows 11 eller 10PowershellWindows 10Windows 11

PowerShell giver brugerne mulighed for at automatisere forskellige administrative opgaver og administrere konfigurationer på systemet, som ikke er tilgængelige via kommandoprompten. Det ligner en k...

Læs mere
PowerShell-implementering mislykkedes med HRESULT 0x80073D02 problem Løsning

PowerShell-implementering mislykkedes med HRESULT 0x80073D02 problem LøsningPowershell

Ser du denne fejlmeddelelse, mens du kører et script "Add-AppxPackage: Implementeringen mislykkedes med HRESULT: 0x80073D02, Pakken kunne ikke installeres på grund af de ressourcer, den ændrer, er ...

Læs mere
PowerShell kan ikke kaldes indlæst, fordi kørende scripts er deaktiveret på denne systemrettelse

PowerShell kan ikke kaldes indlæst, fordi kørende scripts er deaktiveret på denne systemrettelsePowershellWindows 10Windows 11

Windows-brugere kan køre deres PowerShell-scripts ved hjælp af PowerShell-terminalen med kun en enkelt kommando. Men nogle gange, normalt for førstegangsbrugere, vil fejlmeddelelsen "Powershell kan...

Læs mere