Kuidas parandada, et Try Catch PowerShell ei tööta?

Selle parandamiseks otsige vale süntaksit

  • Kui Try-Catch PowerShellis ei tööta, peate kontrollima valed süntaksi- ja veatoiminguväärtused.
  • See juhend selgitab erinevaid viise probleemi lahendamiseks.
Proovige tabada, et powershell ei tööta

XINSTALLIMINE Klõpsates ALLALAADIMISE FAILIL

Erinevate arvutiprobleemide lahendamiseks soovitame Restoro PC Repair Tooli:See tarkvara parandab tavalised arvutivead, kaitseb teid failide kadumise, pahavara ja riistvaratõrgete eest ning optimeerib teie arvuti maksimaalse jõudluse saavutamiseks. Parandage arvutiprobleemid ja eemaldage viirused kohe kolme lihtsa sammuga:
  1. Laadige alla Restoro PC Repair Tool mis on kaasas patenteeritud tehnoloogiatega (patent olemas siin).
  2. Klõpsake Alusta skannimist et leida Windowsi probleeme, mis võivad arvutiprobleeme põhjustada.
  3. Klõpsake Parandage kõik arvuti turvalisust ja jõudlust mõjutavate probleemide lahendamiseks.
  • Restoro on alla laadinud 0 lugejad sel kuul.

Try-Catch avaldus sisse PowerShell käsitleb teie koodi vigu ja erandeid. Kui Try-Catch ei tööta PowerShelli erandil, võib see olla masendav.

Selles juhendis käsitleme kõiki probleemi lahendamise viise ja probleemi tõenäolisi põhjuseid. Alustame!

Mis põhjustab Try-Catch'i probleemi PowerShellis ei tööta?

Põhjuseid, miks avaldus PowerShellis ei tööta, võib olla mitu. Siin on mõned levinumad.

  • Vaikimisi ErrorAction määratud – Kui ErrorAction on seatud väärtusele Jätka, siis Try-Catch ei tööta ootuspäraselt.
  • Süntaksivead – Kui kasutatav süntaks on vale, vorming on vale või puuduvad märksõnad, siis Try-Catch ei tööta.
  • Cmdleti või funktsiooni käitumine – Mõned funktsioonid ja cmdlet-käsud on varustatud veakäsitlusega, mis ei pruugi Try-Catchiga ühilduda.
  • Vale loogika või muutujate kasutamine – Kui seda kasutatakse mittesihipäraselt muutujad või vale loogika, siis Try-Catch ei tööta.

Mida teha, kui Try-Catch PowerShellis ei tööta?

1. Kontrollige süntaksit

  1. Esiteks peate kontrollima, kas kasutasite kasutatava PowerShelli versiooni jaoks õiget süntaksit.
  2. Järgmisena kontrollige, kas olete proovi ja püüdmise plokid paigutanud õigesse järjestusse.
  3. Allpool on mainitud Try-Catchi põhisüntaksit. Asendage siin käitamiseks # kood koodiga ja # veakäsitluskood siin veakäsitluskoodiga:

proovige {
# kood siin käitamiseks
}
Catch {
# veakäsitluskood siin
}

2. Kontrollige, kas teete konkreetse vea vahele 

Peate kontrollima, kas püüate kinni konkreetsed vead, mida soovite käsitleda, mitte kõik vead. Sama tegemiseks järgige neid samme.

  1. Vajutage nuppu Windows võti, tüüp PowerShell, ja klõpsake Käivitage administraatorina.Skript
  2. Vea püüdmiseks peate kasutama $ muutuja Catch plokis, et pääseda juurde teabele visatud vea kohta. Parema mõistmiseks vaatame sama näidet: proovige {
    Get-ChildItem -Path C:\DoesNotExist
    }
    Catch {
    if ($_.Erand. GetType().Name -eq "DirectoryNotFoundException") {
    Write-Output "Kataloogi ei leitud."
    }
    else {
    viska $_.Erand|
    }
    }

3. Määrake ErrorAction väärtus 

ErrorActioni vaikeväärtus on Continue; aga selleks, et Try-Catch töötaks, peate ErrorAction väärtuseks määrama Stop. Selleks toimige järgmiselt.

  1. Avatud PowerShell administraatorina.
  2. Üksikute cmdlet-käskude puhul peate kasutama cmdlet-käsku Set-StrictMode või parameetrit ErrorAction. Et seda paremini mõista, vaatame näidet:
Proovige püüda rakendusega ErrorAction Stop PowerShell

proovige {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Catch {
Kirjutamisväljund $_.Erand. Sõnum
}

Loe selle teema kohta lähemalt
  • Siit saate teada, kuidas oma BitLockeri võtit OneDrive'ist taastada
  • Telefonilingi kasutamine iPhone'i jaoks opsüsteemis Windows 11
  • DaVinci suure protsessori kasutuse lahendamine: kuidas seda vähendada

4. Kasutage õiget erandi tüüpi

Try-Catchi kasutamisel on oluline kasutada õigeid erandeid, kuna see suudab käsitleda ainult süsteemi erandeid. Erandi tüüp. Kui olete kasutanud mitte-süsteemi. Erand vead, siis Try-Catch ei tööta.

Mis puudutab mittesüsteemi. Erandiks peate kasutama NET-raamistiku veakäsitlusmehhanismi või tõrke tabama.

5. Vältige skripti lõpetamist 

Kui teie skript lõpetatakse enne Catch-ploki jõudmist, ei saa Try-Cach veaga hakkama. Skripti lõpetamise vältimiseks toimige järgmiselt.

  1. Käivitage PowerShell administraatori õigustega.
  2. Peate kasutama Jätka avaldus pärast Saagi blokk. Mõistame seda näite abil:
proovi lõpuks kinni püüda

proovige {
Get-ChildItem -Path C:\DoesNotExist
}
Catch {
Kirjutamisväljund $_.Erand. Sõnum
Jätka
}

6. Kasutage nuppu Proovi-Püüa-Lõpuks

 Kui Try-Catch-lause ikka ei tööta, võite selle asemel kasutada konstruktsiooni Try-Catch-Finally. See tagab, et teie kood töötab lõpuni, isegi kui tehakse erand.

  1. Avatud PowerShell administraatorina.
  2. Tippige käsk koos Proovi-Püüa-Lõpuks. Siin on näide skripti paremaks mõistmiseks:

proovige {
# Sinu kood siin

Catch [System. Erand] {
# Siin on erandite käsitlemise kood

lõpuks {
 # Puhastuskood siin
}

Niisiis, need on viisid, kuidas saate PowerShellis probleemi Try Catch ei tööta. Kui teil on Try-Catchiga seotud küsimusi, mainige neid allolevas kommentaaride jaotises. Aitame hea meelega!

Kui soovite teada, kuidas peatada PowerShelli sulgemine pärast skripti käivitamist, saate seda lugeda.

Kas teil on endiselt probleeme? Parandage need selle tööriistaga:

SPONSEERITUD

Kui ülaltoodud nõuanded ei ole teie probleemi lahendanud, võib teie arvutis esineda sügavamaid Windowsi probleeme. Me soovitame laadige alla see arvutiparandustööriist (hinnatud saidil TrustPilot.com suurepäraseks), et neid hõlpsalt lahendada. Pärast installimist klõpsake lihtsalt nuppu Alusta skannimist nuppu ja seejärel vajutada Parandage kõik.

PARANDUS: PowerShelli käitamise skriptid on selles süsteemis keelatud

PARANDUS: PowerShelli käitamise skriptid on selles süsteemis keelatudPowershellWindows 10

Erinevate arvutiprobleemide lahendamiseks soovitame DriverFixi:See tarkvara hoiab teie draiverid töökorras ja hoiab teid kaitstud tavaliste arvutivigade ja riistvaratõrgete eest. Kontrollige kõiki ...

Loe rohkem
Sisseehitatud rakenduste eemaldamine Windows 10 WIM-failist koos Powershelliga

Sisseehitatud rakenduste eemaldamine Windows 10 WIM-failist koos PowershelligaPowershell

PowerShell on väga jõuline Windowsi tööriist, mis võimaldab kasutajatel täita mitmeid täiustatud toiminguid. PowerShell on ülesannete automatiseerimise ja konfiguratsiooni haldamise raamistik, mis ...

Loe rohkem
Microsoft PowerShell 7 tuleb kõigile platvormidele mais

Microsoft PowerShell 7 tuleb kõigile platvormidele maisPowershellWindows 10 Uudised

Microsoft teatas hiljuti a üldine kättesaadavus uus PowerShelli versioon. Uus versioon viib olemasoleva versiooni Windows PowerShell 7.0-sse.Teade tuli kohe pärast seda, kui Microsoft eelmisel näda...

Loe rohkem