Cum să remediați Try Catch PowerShell care nu funcționează?

Pentru a remedia acest aspect, există o sintaxă incorectă

  • Dacă Try-Catch nu funcționează pe PowerShell, trebuie să verificați dacă există valori incorecte de sintaxă și acțiuni de eroare.
  • Acest ghid va explica diferitele modalități de a rezolva problema.
Încercați să prindeți că Powershell nu funcționează

XINSTALAȚI FÂND CLIC PE DESCARCARE FIȘIER

Pentru a remedia diverse probleme ale PC-ului, vă recomandăm Restoro PC Repair Tool:Acest software va repara erorile comune ale computerului, vă va proteja de pierderea fișierelor, malware, defecțiuni hardware și vă va optimiza computerul pentru performanță maximă. Remediați problemele PC-ului și eliminați virușii acum în 3 pași simpli:
  1. Descărcați Instrumentul de reparare PC Restoro care vine cu tehnologii brevetate (brevet disponibil Aici).
  2. Clic Incepe scanarea pentru a găsi probleme Windows care ar putea cauza probleme PC-ului.
  3. Clic Repara tot pentru a remedia problemele care afectează securitatea și performanța computerului.
  • Restoro a fost descărcat de 0 cititorii luna aceasta.

Declarația Try-Catch în

PowerShell tratează erorile și excepțiile din codul dvs. Dacă Try-Catch nu funcționează ca excepție pe PowerShell, poate fi frustrant.

În acest ghid, vom acoperi toate modalitățile de a remedia problema, împreună cu cauzele probabile ale problemei. Să începem!

Ce cauzează problema Try-Catch care nu funcționează în PowerShell?

Ar putea exista diverse motive pentru care declarația nu funcționează pe PowerShell. Iată câteva dintre cele mai comune:

  • Set ErrorAction implicit – Dacă ErrorAction este setat la Continuare, atunci Try-Catch nu va funcționa conform așteptărilor.
  • Erori de sintaxă – Dacă sintaxa utilizată este necorespunzătoare, formatarea este incorectă sau lipsesc cuvinte cheie, Try-Catch nu va funcționa.
  • Comportamentul cmdlet-ului sau al funcției – Unele funcții și cmdleturi vin cu comportamentul lor de gestionare a erorilor, care ar putea să nu fie compatibil cu Try-Catch.
  • Logica sau utilizarea incorectă a variabilelor – Dacă există o utilizare necorespunzătoare a variabile sau logică incorectă, atunci Try-Catch nu va funcționa.

Ce pot face dacă Try-Catch nu funcționează pe PowerShell?

1. Verificați Sintaxa

  1. Mai întâi, trebuie să verificați dacă ați folosit sintaxa corectă pentru versiunea de PowerShell pe care o utilizați.
  2. Apoi, verificați dacă ați plasat blocurile Try and Catch în ordinea corectă.
  3. Sintaxa de bază pentru Try-Catch este menționată mai jos. Înlocuiți # cod pentru a rula aici cu codul și # cod de gestionare a erorilor aici cu codul de gestionare a erorilor:

Încerca {
# cod de rulat aici
}
Captură {
# cod de gestionare a erorilor aici
}

2. Verificați dacă captați o anumită eroare 

Trebuie să verificați dacă captați anumite erori pe care doriți să le gestionați și nu toate erorile. Urmați acești pași pentru a face același lucru:

  1. apasă pe Windows cheie, tastați PowerShell, și faceți clic Rulat ca administrator.Scenariul
  2. Pentru a capta o eroare, trebuie să utilizați $ variabilă din blocul Catch pentru a accesa informații despre eroarea care a fost aruncată. Să verificăm exemplul aceluiași pentru a înțelege mai bine: Încerca {
    Get-ChildItem -Path C:\DoesNotExist
    }
    Captură {
    dacă ($_.Excepție. GetType().Name -eq "DirectoryNotFoundException") {
    Scrie-Ieșire „Directorul nu a fost găsit”.
    }
    else {
    arunca $_.Exceptie|
    }
    }

3. Setați valoarea ErrorAction 

Valoarea implicită pentru ErrorAction este Continue; cu toate acestea, pentru ca Try-Catch să funcționeze, trebuie să setați valoarea ErrorAction la Stop. Pentru a face acest lucru, urmați acești pași:

  1. Deschis PowerShell ca administrator.
  2. Trebuie să utilizați cmdletul Set-StrictMode sau parametrul ErrorAction pe cmdlet-uri individuale. Pentru a înțelege mai bine, să ne uităm la un exemplu:
Încercați Catch cu ErrorAction Stop PowerShell

Încerca {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Captură {
Scriere-Ieșire $_.Excepție. Mesaj
}

Citiți mai multe despre acest subiect
  • Iată cum să vă recuperați cheia BitLocker din OneDrive
  • Cum să utilizați Phone Link pentru iPhone pe Windows 11
  • Utilizarea ridicată a procesorului DaVinci Resolve: Cum să o reduceți

4. Utilizați tipul corect de excepție

Este important să folosiți excepțiile corecte atunci când utilizați Try-Catch, deoarece poate gestiona doar excepțiile sistemului. Tip excepție. Dacă ați folosit non-System. Excepție erori, atunci Try-Catch nu va funcționa.

Cât despre non-System. Excepție, trebuie să utilizați mecanismul de gestionare a erorilor din cadrul NET sau să detectați eroarea.

5. Evitați terminarea scriptului 

Dacă scriptul dvs. este terminat înainte de a ajunge la blocul Catch, Try-Cach nu va avea șansa de a gestiona eroarea. Pentru a evita terminarea scriptului, urmați acești pași:

  1. Lansa PowerShell cu drepturi de administrator.
  2. Trebuie să utilizați Continua declarație după Captură bloc. Să o înțelegem printr-un exemplu:
incearca sa prinzi in sfarsit

Încerca {
Get-ChildItem -Path C:\DoesNotExist
}
Captură {
Scriere-Ieșire $_.Excepție. Mesaj
Continua
}

6. Utilizați Try-Catch-Finally

 Dacă instrucțiunea Try-Catch încă nu funcționează, puteți utiliza construcția Try-Catch-Finally. Acest lucru asigură că codul dumneavoastră rulează până la finalizare, chiar dacă este ridicată o excepție.

  1. Deschis PowerShell ca administrator.
  2. Tastați comanda cu Încearcă-Prin-În sfârșit. Iată un exemplu pentru a înțelege mai bine scriptul:

Încerca {
# Codul dvs. aici

Prinde [System. Excepție] {
# Codul de gestionare a excepțiilor aici

In cele din urma {
 # Cod de curățare aici
}

Deci, acestea sunt moduri prin care puteți rezolva problema Try Catch care nu funcționează pe PowerShell. Dacă aveți întrebări legate de Try-Catch, vă rugăm să le menționați în secțiunea de comentarii de mai jos. Vom fi bucuroși să vă ajutăm!

Dacă doriți să știți cum să opriți închiderea PowerShell după rularea unui script, poti citi asta.

Mai aveți probleme? Remediați-le cu acest instrument:

SPONSORIZAT

Dacă sfaturile de mai sus nu v-au rezolvat problema, este posibil ca computerul să întâmpine probleme mai profunde cu Windows. Iti recomandam descărcarea acestui instrument de reparare a PC-ului (evaluat excelent pe TrustPilot.com) pentru a le adresa cu ușurință. După instalare, faceți clic pe butonul Incepe scanarea butonul și apoi apăsați pe Repara tot.

Cum să opriți închiderea PowerShell după executarea unui script

Cum să opriți închiderea PowerShell după executarea unui scriptPowershell

Pentru a rezolva diferite probleme ale computerului, vă recomandăm DriverFix:Acest software vă va menține drivere în funcțiune, astfel vă va proteja de erorile obișnuite ale computerului și de defe...

Citeste mai mult
PowerShell nu va derula? Remediați-l cu acești pași simpli

PowerShell nu va derula? Remediați-l cu acești pași simpliPowershell

Pentru a rezolva diferite probleme ale computerului, vă recomandăm DriverFix:Acest software vă va menține drivere în funcțiune, astfel vă va proteja de erorile obișnuite ale computerului și de defe...

Citeste mai mult
Istoricul PowerShell nu funcționează? Consultați aceste soluții

Istoricul PowerShell nu funcționează? Consultați aceste soluțiiPowershell

Pentru a rezolva diferite probleme de computer, vă recomandăm Restoro PC Repair Tool:Acest software va repara erorile obișnuite ale computerului, vă va proteja de pierderea fișierelor, malware, def...

Citeste mai mult