Ako opraviť nefunkčnosť Try Catch PowerShell?

Ak to chcete opraviť, hľadajte nesprávnu syntax

  • Ak Try-Catch nefunguje v prostredí PowerShell, musíte skontrolovať nesprávnu syntax a hodnoty chybových akcií.
  • Táto príručka vysvetlí rôzne spôsoby riešenia problému.
Skúste zachytiť, že nefunguje powershell

XNAINŠTALUJTE KLIKNUTÍM NA STIAHNUŤ SÚBOR

Ak chcete vyriešiť rôzne problémy s počítačom, odporúčame nástroj Restoro PC Repair Tool:Tento softvér opraví bežné chyby počítača, ochráni vás pred stratou súborov, škodlivým softvérom, zlyhaním hardvéru a optimalizuje váš počítač na maximálny výkon. Opravte problémy s počítačom a odstráňte vírusy teraz v 3 jednoduchých krokoch:
  1. Stiahnite si Restoro PC Repair Tool ktorý prichádza s patentovanými technológiami (dostupný patent tu).
  2. Kliknite Spustite skenovanie nájsť problémy so systémom Windows, ktoré by mohli spôsobovať problémy s počítačom.
  3. Kliknite Opraviť všetko na opravu problémov ovplyvňujúcich bezpečnosť a výkon vášho počítača.
  • Restoro bol stiahnutý používateľom 0 čitateľov tento mesiac.

Vyhlásenie Try-Catch v PowerShell spracováva chyby a výnimky vo vašom kóde. Ak Try-Catch nefunguje tak, ako je to v PowerShell, môže to byť frustrujúce.

V tejto príručke sa budeme zaoberať všetkými spôsobmi, ako problém vyriešiť, spolu s pravdepodobnými príčinami problému. Začnime!

Čo spôsobuje, že problém Try-Catch nefunguje v prostredí PowerShell?

Dôvody, prečo vyhlásenie nefunguje v prostredí PowerShell, môžu byť rôzne. Tu sú niektoré z najbežnejších:

  • Predvolená ErrorAction nastavená – Ak ErrorAction je nastavená na Pokračovať, potom Try-Catch nebude fungovať podľa očakávania.
  • Syntaktické chyby – Ak je použitá syntax nesprávna, formátovanie je nesprávne alebo chýbajú kľúčové slová, funkcia Try-Catch nebude fungovať.
  • Správanie cmdlet alebo funkcie – Niektoré funkcie a rutiny cmdlet sa dodávajú so správaním pri odstraňovaní chýb, ktoré nemusí byť kompatibilné s Try-Catch.
  • Nesprávna logika alebo použitie premenných – Ak dôjde k nevhodnému použitiu premenných alebo nesprávna logika, potom Try-Catch nebude fungovať.

Čo môžem urobiť, ak Try-Catch nefunguje v prostredí PowerShell?

1. Skontrolujte syntax

  1. Najprv musíte skontrolovať, či ste použili správnu syntax pre verziu PowerShell, ktorú používate.
  2. Potom skontrolujte, či ste umiestnili bloky Try and Catch v správnom poradí.
  3. Základná syntax pre Try-Catch je uvedená nižšie. Nahraďte # kód, ktorý sa tu spustí, kódom a # kód spracovania chýb tu kódom spracovania chýb:

Skúste {
Tu môžete spustiť # kód
}
Chytiť {
Tu je # kód spracovania chýb
}

2. Skontrolujte, či zachytávate konkrétnu chybu 

Musíte overiť, či zachytávate konkrétne chyby, ktoré chcete spracovať, a nie všetky chyby. Postupujte podľa týchto krokov a urobte to isté:

  1. Stlačte tlačidlo Windows kľúč, typ PowerShell, a kliknite Spustiť ako správca.Skript
  2. Ak chcete zachytiť chybu, musíte použiť $ premennej v bloku Catch na prístup k informáciám o chybe, ktorá bola vyvolaná. Pozrime sa na príklad toho istého, aby sme to lepšie pochopili: Skúste {
    Get-ChildItem -Cesta C:\Neexistuje
    }
    Chytiť {
    if ($_.Exception. GetType().Name -eq "DirectoryNotFoundException") {
    Zápis a výstup "Adresár nenájdený."
    }
    inak {
    hodiť $_.Výnimka|
    }
    }

3. Nastavte hodnotu ErrorAction 

Predvolená hodnota ErrorAction je Continue; Aby však funkcia Try-Catch fungovala, musíte nastaviť hodnotu ErrorAction na Stop. Ak to chcete urobiť, postupujte takto:

  1. OTVORENÉ PowerShell ako správca.
  2. Na jednotlivých cmdletoch musíte použiť rutinu cmdlet Set-StrictMode alebo parameter ErrorAction. Aby sme to lepšie pochopili, pozrime sa na príklad:
Skúste Catch with ErrorAction Stop PowerShell

Skúste {
Get-ChildItem -Cesta C:\Neexistuje -ErrorAction Stop
}
Chytiť {
Write-Output $_.Exception. Správa
}

Prečítajte si viac o tejto téme
  • Tu je postup, ako obnoviť kľúč BitLocker z OneDrive
  • Ako používať Phone Link pre iPhone v systéme Windows 11
  • DaVinci rieši vysoké využitie procesora: Ako ho znížiť

4. Použite správny typ výnimky

Pri používaní Try-Catch je dôležité používať správne výnimky, pretože dokáže spracovať iba výnimky systému. Typ výnimky. Ak ste použili iné ako System. Výnimky, potom Try-Catch nebude fungovať.

Čo sa týka nesystémového. Výnimkou je, že musíte použiť mechanizmus spracovania chýb rámca NET alebo zachytiť chybu.

5. Vyhnite sa ukončeniu skriptu 

Ak je váš skript ukončený pred dosiahnutím bloku Catch, Try-Cach nedostane šancu chybu vyriešiť. Ak sa chcete vyhnúť ukončeniu skriptu, postupujte takto:

  1. Spustiť PowerShell s právami správcu.
  2. Musíte použiť ďalej vyhlásenie po Chytiť blokovať. Pochopme to na príklade:
skús konečne chytiť

Skúste {
Get-ChildItem -Cesta C:\Neexistuje
}
Chytiť {
Write-Output $_.Exception. Správa
ďalej
}

6. Použite funkciu Try-Catch-Finally

 Ak príkaz Try-Catch stále nefunguje, môžete namiesto toho použiť konštrukciu Try-Catch-Finally. To zaisťuje, že váš kód bude dokončený, aj keď je vyvolaná výnimka.

  1. OTVORENÉ PowerShell ako správca.
  2. Zadajte príkaz s Skúste-Chyť-Konečne. Tu je príklad na lepšie pochopenie skriptu:

Skúste {
# Tu je váš kód

Catch [System. Výnimka] {
# Tu je kód spracovania výnimiek

Nakoniec {
 # Čistiaci kód tu
}

Toto sú spôsoby, ako môžete vyriešiť problém, že funkcia Try Catch nefunguje v prostredí PowerShell. Ak máte nejaké otázky týkajúce sa Try-Catch, uveďte ich v sekcii komentárov nižšie. Radi pomôžeme!

Ak chcete vedieť, ako zastaviť zatvorenie prostredia PowerShell po spustení skriptu, toto si môžeš prečítať.

Stále máte problémy? Opravte ich pomocou tohto nástroja:

SPONZOROVANÉ

Ak rady uvedené vyššie nevyriešili váš problém, váš počítač môže mať hlbšie problémy so systémom Windows. Odporúčame stiahnutím tohto nástroja na opravu počítača (hodnotené ako skvelé na TrustPilot.com), aby ste ich mohli jednoducho osloviť. Po inštalácii stačí kliknúť na Spustite skenovanie tlačidlo a potom stlačte Opraviť všetko.

Ako opraviť nefunkčnosť Try Catch PowerShell?

Ako opraviť nefunkčnosť Try Catch PowerShell?Powershell

Ak to chcete opraviť, hľadajte nesprávnu syntaxAk Try-Catch nefunguje v prostredí PowerShell, musíte skontrolovať nesprávnu syntax a hodnoty chybových akcií.Táto príručka vysvetlí rôzne spôsoby rie...

Čítaj viac
Ako používať PowerShell ErrorAction? (Sprievodca s príkladmi)

Ako používať PowerShell ErrorAction? (Sprievodca s príkladmi)Powershell

Tento cmdlet spracuje akciu, ak sa vyskytne chybaPowerShell ErrorAction je bežný parameter, ktorý sa aktivuje vždy, keď sa vyskytne chyba.Táto príručka bude diskutovať o chybe PowerShell, jej param...

Čítaj viac
Ako tlačiť premenné prostredia v Powershell: 4 jednoduché tipy

Ako tlačiť premenné prostredia v Powershell: 4 jednoduché tipyPowershell

Použite tieto rýchle kroky na tlač premenných prostredia v PowerShellPremenné prostredia ukladajú údaje týkajúce sa informácií používaných operačným systémom a inými programami.K premenným prostred...

Čítaj viac