Kaip ištaisyti, kad „Try Catch PowerShell“ neveikia?

Norėdami tai išspręsti, ieškokite neteisingos sintaksės

  • Jei „Try-Catch“ neveikia „PowerShell“, turite patikrinti, ar nėra neteisingų sintaksės ir klaidų veiksmų verčių.
  • Šiame vadove bus paaiškinti įvairūs problemos sprendimo būdai.
Pabandykite užfiksuoti, kad powershell neveikia

XĮDIEGTI PASPUSTELĖT ATSISIUNČIŲ FAILĄ

Norėdami išspręsti įvairias kompiuterio problemas, rekomenduojame „Restoro PC Repair Tool“:Ši programinė įranga ištaisys įprastas kompiuterio klaidas, apsaugos jus nuo failų praradimo, kenkėjiškų programų, aparatinės įrangos gedimų ir optimizuos jūsų kompiuterį maksimaliam našumui. Išspręskite kompiuterio problemas ir pašalinkite virusus dabar atlikdami 3 paprastus veiksmus:
  1. Atsisiųskite „Restoro PC Repair Tool“. kuri pateikiama kartu su patentuotomis technologijomis (yra patentas čia).
  2. Spustelėkite Pradėti nuskaitymą Norėdami rasti „Windows“ problemas, kurios gali sukelti kompiuterio problemų.
  3. Spustelėkite Remontuoti visus Norėdami išspręsti problemas, turinčias įtakos jūsų kompiuterio saugai ir našumui.
  • „Restoro“ atsisiuntė 0 skaitytojų šį mėnesį.

„Try-Catch“ pareiškimas PowerShell tvarko jūsų kodo klaidas ir išimtis. Jei „Try-Catch“ neveikia taip, kaip „PowerShell“ išimtis, tai gali būti nelinksma.

Šiame vadove apžvelgsime visus problemos sprendimo būdus ir galimas problemos priežastis. Pradėkime!

Kodėl „PowerShell“ neveikia „Try-Catch“ problema?

Gali būti įvairių priežasčių, kodėl pareiškimas neveikia PowerShell. Štai keletas dažniausiai pasitaikančių:

  • Numatytasis ErrorAction nustatytas – Jei ErrorAction nustatyta kaip Tęsti, tada „Try-Catch“ neveiks taip, kaip tikėtasi.
  • Sintaksės klaidos – Jei naudojama netinkama sintaksė, netinkamas formatavimas arba trūksta raktinių žodžių, „Try-Catch“ neveiks.
  • Cmdlet arba funkcijos elgsena – Kai kurios funkcijos ir cmdlet yra su klaidų apdorojimo elgesiu, kuri gali būti nesuderinama su „Try-Catch“.
  • Neteisinga logika arba kintamųjų naudojimas – Jei naudojamas netinkamai kintamieji arba neteisinga logika, tada „Try-Catch“ neveiks.

Ką daryti, jei „Try-Catch“ neveikia „PowerShell“?

1. Patikrinkite sintaksę

  1. Pirmiausia turite patikrinti, ar naudojote tinkamą naudojamos „PowerShell“ versijos sintaksę.
  2. Tada patikrinkite, ar „Try and Catch“ blokus įdėjote teisinga seka.
  3. Pagrindinė „Try-Catch“ sintaksė yra paminėta toliau. Pakeiskite # kodą, kad paleistumėte čia, į kodą ir # klaidų apdorojimo kodą čia į klaidų tvarkymo kodą:

Bandyti {
# kodas, kurį reikia paleisti čia
}
Sugauti {
# klaidų tvarkymo kodas čia
}

2. Patikrinkite, ar užfiksuojate konkrečią klaidą 

Turite patikrinti, ar užfiksuojate konkrečias klaidas, kurias norite tvarkyti, o ne visas. Atlikite šiuos veiksmus, kad padarytumėte tą patį:

  1. Paspauskite Windows raktas, tipas „PowerShell“, ir spustelėkite Vykdyti kaip administratorius.Scenarijus
  2. Norėdami užfiksuoti klaidą, turite naudoti $ kintamąjį bloke Catch, kad pasiektumėte informaciją apie išmestą klaidą. Kad geriau suprastume, patikrinkime to paties pavyzdį: Bandyti {
    Get-ChildItem -Path C:\DoesNot Exist
    }
    Sugauti {
    if ($_.Išimtis. GetType().Name -eq "DirectoryNotFoundException") {
    Rašymo išvestis "Katalogas nerastas".
    }
    Kitas {
    mesti $_.Išimtis|
    }
    }

3. Nustatykite ErrorAction reikšmę 

Numatytoji ErrorAction reikšmė yra Continue; tačiau, kad „Tryn-Catch“ veiktų, turite nustatyti ErrorAction reikšmę į Stop. Norėdami tai padaryti, atlikite šiuos veiksmus:

  1. Atviras PowerShell kaip administratorius.
  2. Atskirose cmdlet turite naudoti Set-StrictMode cmdlet arba ErrorAction parametrą. Norėdami tai geriau suprasti, pažvelkime į pavyzdį:
Išbandykite Catch naudodami ErrorAction Stop PowerShell

Bandyti {
Get-ChildItem -Path C:\DoesNot Exist - ErrorAction Stop
}
Sugauti {
Rašymo išvestis $_.Išimtis. Pranešimas
}

Skaitykite daugiau apie šią temą
  • Štai kaip atkurti „BitLocker“ raktą iš „OneDrive“.
  • Kaip naudoti „iPhone“ skirtą telefono nuorodą „Windows 11“.
  • „DaVinci“ išsprendžia didelį procesoriaus naudojimą: kaip jį sumažinti

4. Naudokite tinkamą išimties tipą

Naudojant Try-Catch svarbu naudoti teisingas išimtis, nes ji gali apdoroti tik sistemos išimtis. Išimties tipas. Jei naudojote ne sistemos. Išimčių klaidos, tada „Try-Catch“ neveiks.

Kalbant apie nesisteminę. Išimtis, jums reikia naudoti NET“ sistemos klaidų apdorojimo mechanizmą arba užfiksuoti klaidą.

5. Venkite scenarijaus nutraukimo 

Jei scenarijus nutraukiamas nepasiekus bloko Catch, „Try-Cach“ neturės galimybės išspręsti klaidos. Norėdami išvengti scenarijaus nutraukimo, atlikite šiuos veiksmus:

  1. Paleisti PowerShell su administratoriaus teisėmis.
  2. Jums reikia naudoti Tęsti pareiškimas po Sugauti blokas. Supraskime tai pavyzdžiu:
pabandyk pagaliau sugauti

Bandyti {
Get-ChildItem -Path C:\DoesNot Exist
}
Sugauti {
Rašymo išvestis $_.Išimtis. Pranešimas
Tęsti
}

6. Naudokite Pabandykite-Pagauk-Galiausiai

 Jei „Try-Catch“ teiginys vis tiek neveikia, galite naudoti „Try-Catch-Finally“ konstrukciją. Tai užtikrina, kad jūsų kodas bus baigtas, net jei bus padaryta išimtis.

  1. Atviras PowerShell kaip administratorius.
  2. Įveskite komandą su Išbandyk-Pagauk-Pagaliau. Štai pavyzdys, kaip geriau suprasti scenarijų:

Bandyti {
# Jūsų kodas čia

Catch [System. Išimtis] {
# Išimčių tvarkymo kodas čia

Pagaliau {
 # Valymo kodas čia
}

Taigi, tai yra būdai, kuriais galite išspręsti „Try Catch“ neveikiančią problemą „PowerShell“. Jei turite klausimų, susijusių su „Try-Catch“, paminėkite juos toliau pateiktame komentarų skyriuje. Mes mielai padėsime!

Jei norite sužinoti, kaip sustabdyti „PowerShell“ uždarymą paleidus scenarijų, galite tai perskaityti.

Vis dar kyla problemų? Pataisykite juos naudodami šį įrankį:

REMIAMAS

Jei pirmiau pateikti patarimai neišsprendė problemos, jūsų kompiuteryje gali kilti gilesnių „Windows“ problemų. Mes rekomenduojame atsisiunčiant šį kompiuterio taisymo įrankį (TrustPilot.com įvertinta puikiai), kad lengvai juos išspręstumėte. Įdiegę tiesiog spustelėkite Pradėti nuskaitymą mygtuką ir tada paspauskite Remontuoti visus.

Pataisymas: „PowerShell Export-CSV“ prieiga prie kelio uždrausta

Pataisymas: „PowerShell Export-CSV“ prieiga prie kelio uždrausta„Microsoft Power Sell“Powershell„Windows 11“

Norėdami gauti prieigą, turėsite gauti administravimo lygio leidimusKai kuriems „PowerShell“ naudotojams buvo uždrausta prieiga prie kelio įvedus „Export-CSV“ cmdlet.Taip gali būti dėl to, kad nete...

Skaityti daugiau
„Windows“ negali rasti „PowerShell.exe“: 5 būdai, kaip jį ištaisyti

„Windows“ negali rasti „PowerShell.exe“: 5 būdai, kaip jį ištaisytiPowershell„Windows 11“

Pabandykite atnaujinti „PowerShell“ į naujausią versiją„Windows PowerShell“ yra galingas scenarijų rengimo ir automatizavimo įrankis, leidžiantis atlikti administracines užduotis sistemoje „Windows...

Skaityti daugiau
Kaip įjungti scenarijų vykdymą „Windows 10“.

Kaip įjungti scenarijų vykdymą „Windows 10“.Powershell„Windows 10“

Norėdami tai įjungti, galite naudoti nustatymų programąĮgalinę scenarijų paleidimą sistemoje „Windows 10“, galėsite vykdyti ir paleisti įvairių tipų scenarijus, pvz., „PowerShell“ scenarijus arba p...

Skaityti daugiau