Če želite popraviti to, poiščite napačno sintakso
- Če Try-Catch ne deluje v lupini PowerShell, morate preveriti napačno sintakso in vrednosti dejanja napake.
- V tem priročniku so razloženi različni načini za rešitev težave.
XNAMESTITE TAKO, DA KLIKNETE NA PRENOS DATOTEKE
- Prenesite Restoro PC Repair Tool ki prihaja s patentiranimi tehnologijami (patent na voljo tukaj).
- Kliknite Zaženi skeniranje da poiščete težave z operacijskim sistemom Windows, ki bi lahko povzročale težave z računalnikom.
- Kliknite Popravi vse za odpravo težav, ki vplivajo na varnost in delovanje vašega računalnika.
- Restoro je prenesel 0 bralcev ta mesec.
Stavek Try-Catch v
PowerShell obravnava napake in izjeme v vaši kodi. Če Try-Catch ne deluje kot izjema na PowerShell, je to lahko frustrirajuće.V tem priročniku bomo opisali vse načine za odpravo težave skupaj z verjetnimi vzroki težave. Začnimo!
Kaj povzroča težavo, da Try-Catch ne deluje v lupini PowerShell?
Obstajajo lahko različni razlogi, zakaj izjava ne deluje na PowerShell. Tukaj je nekaj najpogostejših:
- Privzeto nastavljeno ErrorAction – Če je ErrorAction je nastavljen na Nadaljuj, potem Try-Catch ne bo deloval po pričakovanjih.
- Sintaksne napake – Če je uporabljena sintaksa neustrezna, je oblikovanje nepravilno ali manjkajo ključne besede, Try-Catch ne bo deloval.
- Cmdlet ali obnašanje funkcije – Nekatere funkcije in ukazi cmdlet imajo svoje vedenje obravnave napak, ki morda ni združljivo s Try-Catch.
- Napačna logika ali uporaba spremenljivk – Če pride do neustrezne uporabe spremenljivke ali napačna logika, potem Try-Catch ne bo deloval.
Kaj lahko storim, če Try-Catch ne deluje na PowerShell?
1. Preverite sintakso
- Najprej morate preveriti, ali ste uporabili pravilno sintakso za različico lupine PowerShell, ki jo uporabljate.
- Nato preverite, ali ste bloke Try in Catch postavili v pravilno zaporedje.
- Osnovna sintaksa za Try-Catch je navedena spodaj. Zamenjajte # kodo za izvajanje tukaj s kodo in # kodo za obravnavo napak tukaj s kodo za obravnavo napak:
Poskusite {
# koda za izvajanje tukaj
}
Catch {
# koda za obravnavanje napak tukaj
}
2. Preverite, ali lovite določeno napako
Preveriti morate, ali lovite določene napake, ki jih želite obravnavati, in ne vseh napak. Sledite tem korakom, da storite enako:
- Pritisnite
Windows
ključ, vrsta PowerShell, in kliknite Zaženi kot skrbnik. - Če želite prestreči napako, morate uporabiti $ spremenljivko v bloku Catch za dostop do informacij o vrženi napaki. Oglejmo si primer istega, da bomo bolje razumeli:
Poskusite {
Get-ChildItem -Path C:\DoesNotExist
}
Catch {
če ($_.Izjema. GetType().Name -eq "DirectoryNotFoundException") {
Write-Output "Imenika ni mogoče najti."
}
sicer {
vrzi $_.Izjema|
}
}
3. Nastavite vrednost ErrorAction
Privzeta vrednost za ErrorAction je Continue; da pa Try-Catch deluje, morate vrednost ErrorAction nastaviti na Stop. Če želite to narediti, sledite tem korakom:
- Odprto PowerShell kot skrbnik.
- Za posamezne ukaze cmdlet morate uporabiti ukaz Set-StrictMode ali parameter ErrorAction. Za boljše razumevanje si poglejmo primer:
Poskusite {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Catch {
Write-Output $_.Izjema. Sporočilo
}
- Tukaj je opisano, kako obnovite ključ BitLocker iz storitve OneDrive
- Kako uporabljati Phone Link za iPhone v sistemu Windows 11
- DaVinci Resolve Visoka poraba procesorja: Kako jo zmanjšati
4. Uporabite pravilno vrsto izjeme
Pomembno je, da pri uporabi Try-Catch uporabite pravilne izjeme, saj lahko obravnava le izjeme sistema. Vrsta izjeme. Če ste uporabili ne-System. Napake izjeme, potem Try-Catch ne bo deloval.
Kar se tiče ne-Sistema. Izjema, morate uporabiti mehanizem za obravnavo napak ogrodja NET« ali ujeti napako.
5. Izogibajte se prekinitvi skripta
Če se vaš skript prekine, preden doseže blok Catch, Try-Cach ne bo imel možnosti obravnavati napake. Če se želite izogniti prekinitvi skripta, sledite tem korakom:
- Kosilo PowerShell z skrbniškimi pravicami.
- Morate uporabiti Nadaljuj izjava po Ujemi blok. Razumejmo to na primeru:
Poskusite {
Get-ChildItem -Path C:\DoesNotExist
}
Catch {
Write-Output $_.Izjema. Sporočilo
Nadaljuj
}
6. Uporabite poskusi-ujemi-končno
Če stavek Try-Catch še vedno ne deluje, lahko namesto tega uporabite konstrukcijo Try-Catch-Finally. To zagotavlja, da se vaša koda izvaja do konca, tudi če pride do izjeme.
- Odprto PowerShell kot skrbnik.
- Vnesite ukaz z Poskus-Ujemi-Končno. Tukaj je primer za boljše razumevanje skripta:
Poskusite {
# Vaša koda tukaj
}
Catch [Sistem. Izjema] {
# Koda za obravnavanje izjem tukaj
}
Končno {
# Koda za čiščenje tukaj
}
Torej, to so načini, na katere lahko rešite težavo Try Catch not working v lupini PowerShell. Če imate kakršna koli vprašanja v zvezi s programom Try-Catch, jih omenite v spodnjem oddelku za komentarje. Z veseljem vam bomo pomagali!
Če želite vedeti, kako preprečiti, da bi se PowerShell zaprl po izvajanju skripta, lahko preberete to.
Imate še vedno težave? Popravite jih s tem orodjem:
SPONZORIRANO
Če zgornji nasveti niso rešili vaše težave, se lahko vaš računalnik sooči z globljimi težavami s sistemom Windows. Priporočamo prenos tega orodja za popravilo računalnika (ocenjeno odlično na TrustPilot.com), da jih preprosto obravnavate. Po namestitvi preprosto kliknite Zaženi skeniranje in nato pritisnite na Popravi vse.