Her er hvordan du håndterer feil med enkle kommandolinje-cmdlets
- Hvis du er en hyppig PowerShell-bruker, har du åpenbart møtt en skjerm full av rød tekst som indikerer en feil.
- Det kan være vanskelig å finne den eksakte årsaken til feilen, men med PowerShells try-catch-kommando kan du fange opp feilen og handle på den.
- I denne artikkelen viser vi deg hvordan du kommer i gang med try catch-kommandoen.
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 er en kontrollflytsetning som brukes i PowerShell for å fange opp feil og unntak. Det kan brukes når du vil håndtere feil i skriptet ditt og stoppe det fra å fortsette videre.
Selv om Kraftskall er et kraftig Windows-kommandolinjeverktøy, noen ganger kan det være vanskelig å tolke hvis det returnerer en feil. Du kan bli sittende fast i flere dager med å prøve å finne ut hvor du gikk galt. Det er her try-catch-kommandoen kommer inn, og vi viser deg hvordan du bruker den i denne artikkelen.
Er det en prøvefangst i PowerShell?
Try Catch-setninger er en kraftig måte å håndtere feil og unntak på i PowerShell. De kan håndtere alle typer feil, fra systemunntak til brukergenererte feil.
Før du forstår hvordan de fungerer, må du først vite hva de betyr og hva de kan gjøre.
Prøv Block
En prøveblokk er den første kodeblokken som kjøres når en feil oppstår. Den kan kjøre hvilken som helst kode, men den gjør ikke noe spesielt for feil. Hvis det oppstår en feil, vil PowerShell fortsette å kjøre resten av skriptet uten å vente på at du skal håndtere feilen.
En Try Catch-setning består av en eller flere Try-blokker. Disse blokkene må plasseres i en bestemt rekkefølge for at koden skal kjøres riktig.
Denne blokken begynner å kjøre umiddelbart hvis ingen feil har oppstått. Hvis det oppstår en feil under denne blokken, vil den avslutte blokken umiddelbart og fortsette å utføre koden innenfor den(e) matchende fangstblokken(e).
Fangstblokk
Fangstblokken er en del av PowerShell-rørledningen som kan håndtere feil og andre unntak. Fangstblokken returnerer ingen verdi, men den lar deg håndtere feiltilstanden i skriptet ditt.
Denne blokken inneholder koden som håndterer feil under utføring av kode innenfor Prøv-blokken(e). Den vil kjøre hvis det oppstår en feil under en prøveblokk i skriptet.
Try-catch-konstruksjonen lar deg håndtere forskjellige feil i skriptet ditt. Hvis du for eksempel har en funksjon som ikke returnerer en verdi, kan du bruke try-catch-konstruksjonen for å se etter en feiltilstand og deretter utføre en handling hvis det var en.
Hvordan skriver du try catch i PowerShell?
Eksperttips:
SPONSERT
Noen PC-problemer er vanskelige å takle, spesielt når det kommer til ødelagte depoter eller manglende Windows-filer. Hvis du har problemer med å fikse en feil, kan systemet ditt være delvis ødelagt.
Vi anbefaler å installere Restoro, et verktøy som skanner maskinen din og identifiserer hva feilen er.
Klikk her for å laste ned og begynne å reparere.
Det er viktig å merke seg at under denne skripttesten skal vi bruke Windows PowerShell ISE (Integrated Scripting Environment). Dette er Windows PowerShell interaktive skallopplevelse.
ISE gir et utmerket utviklingsmiljø for å skrive, feilsøke og teste skript med en interaktiv ledetekst. Den inkluderer en komplett pakke med integrerte skript-, feilsøkings- og redigeringsverktøy som lar deg raskt utvikle, teste og feilsøke PowerShell-skript.
ISE inkluderer også skriptfeilsøkingsfunksjoner som lar deg gå gjennom koden din interaktivt.
- Slå den Windows nøkkel, skriv Powershell ISE og klikk Kjør som administrator.
- Kom opp med en kode som vil gi en positiv feil. Syntaksen for en try-catch-blokk er:
Prøv {
// Kode som kan forårsake en feil
} catch { // Kode som skal utføres hvis det oppstår en feil under utførelse av prøveblokken
}
- Som et eksempel kan vi bruke følgende:
Prøv {
Write-Host "Dette vil ikke gi noe unntak."
} Fang [System. Unntak] {
Skrivevert "Dette vil gi et unntak." }
Mens de to blokkene kan kjøre og fange opp feil, trenger du en annen blokk for å rydde opp i feilen. Finally-blokken brukes til å rydde opp i miljøet etter utførelse av prøveblokken.
- Bootstrapper.exe: Hva er det og bør du fjerne det?
- Onedrive vs Dropbox: Hvilken er bedre for deg i 2023?
Hvordan prøver jeg å fange hvis det ikke er noen feil i PowerShell?
En feil er en tilstand som oppstår mens PowerShell-skriptet kjører og hindrer skriptet i å fortsette til neste kodelinje. Det kan være forårsaket av noe eksternt (som en manglende fil eller ugyldig variabel) eller internt (en syntaksfeil).
PowerShell har to typer feil: avsluttende og ikke-avsluttende. En avsluttende feil stopper kjøringen av skriptet. På den annen side er en ikke-avsluttende feil en som ikke stopper kjøringen av skriptet, men som genererer utdata til konsollen.
Try/catch-blokken lar oss håndtere feil ved å fange dem med try-nøkkelordet og deretter gi en handlingsblokk som vil bli utført hvis en feil oppstår. Når det oppstår en feil, kjører PowerShell koden i Catch-blokken.
Hvis ingen feil oppstår, vil ikke catch-blokken kjøres, og skriptet fortsetter som normalt. Hvis prøv catch in Powershell fungerer ikke, sjekk ut vår detaljerte artikkel om hvordan du fikser det.
Fortell oss hvordan du bruker try catch-kommandolinjen i kommentarfeltet nedenfor.
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.