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.
XINSTALLIMINE Klõpsates ALLALAADIMISE FAILIL
- Laadige alla Restoro PC Repair Tool mis on kaasas patenteeritud tehnoloogiatega (patent olemas siin).
- Klõpsake Alusta skannimist et leida Windowsi probleeme, mis võivad arvutiprobleeme põhjustada.
- 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
- Esiteks peate kontrollima, kas kasutasite kasutatava PowerShelli versiooni jaoks õiget süntaksit.
- Järgmisena kontrollige, kas olete proovi ja püüdmise plokid paigutanud õigesse järjestusse.
- 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.
- Vajutage nuppu
Windows
võti, tüüp PowerShell, ja klõpsake Käivitage administraatorina. - 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.
- Avatud PowerShell administraatorina.
- Ü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 {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Catch {
Kirjutamisväljund $_.Erand. Sõnum
}
- 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.
- Käivitage PowerShell administraatori õigustega.
- Peate kasutama Jätka avaldus pärast Saagi blokk. Mõistame seda näite abil:
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.
- Avatud PowerShell administraatorina.
- 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.