Kako popraviti Try Catch PowerShell ne radi?

Da biste to popravili, potražite netočnu sintaksu

  • Ako Try-Catch ne radi na PowerShell-u, morate provjeriti netočnu sintaksu i vrijednosti radnje pogreške.
  • Ovaj će vodič objasniti različite načine rješavanja problema.
Pokušajte uhvatiti powershell ne radi

xINSTALIRAJTE KLIKOM NA PREUZMI DATOTEKU

Za rješavanje raznih problema s računalom preporučujemo Restoro PC Repair Tool:Ovaj softver će popraviti uobičajene računalne pogreške, zaštititi vas od gubitka datoteka, zlonamjernog softvera, kvara hardvera i optimizirati vaše računalo za maksimalne performanse. Riješite probleme s računalom i uklonite viruse sada u 3 jednostavna koraka:
  1. Preuzmite Restoro PC Repair Tool koji dolazi s patentiranim tehnologijama (dostupan patent ovdje).
  2. Klik Započni skeniranje kako biste pronašli probleme sa sustavom Windows koji bi mogli uzrokovati probleme na računalu.
  3. Klik Popravi sve za rješavanje problema koji utječu na sigurnost i performanse vašeg računala.
  • Restoro je preuzeo 0 čitatelja ovog mjeseca.

Naredba Try-Catch u PowerShell obrađuje pogreške i iznimke u vašem kodu. Ako Try-Catch ne radi kao što je to slučaj na PowerShell-u, to može biti frustrirajuće.

U ovom ćemo vodiču pokriti sve načine rješavanja problema zajedno s mogućim uzrocima problema. Počnimo!

Što uzrokuje problem Try-Catch koji ne radi u PowerShellu?

Mogu postojati različiti razlozi zašto izjava ne radi na PowerShell-u. Evo nekih od najčešćih:

  • Zadana ErrorAction postavljena – Ako je ErrorAction je postavljen na Nastavi, tada Try-Catch neće raditi kako se očekuje.
  • Sintaktičke pogreške – Ako je korištena sintaksa neispravna, formatiranje je netočno ili nedostaju ključne riječi, Try-Catch neće raditi.
  • Cmdlet ili ponašanje funkcije – Neke funkcije i cmdleti dolaze sa svojim ponašanjem rukovanja pogreškama, što možda nije kompatibilno s Try-Catčem.
  • Pogrešna logika ili korištenje varijabli – Ako postoji neprikladna uporaba varijable ili netočna logika, tada Try-Catch neće raditi.

Što mogu učiniti ako Try-Catch ne radi na PowerShell-u?

1. Provjerite sintaksu

  1. Prvo morate provjeriti jeste li upotrijebili ispravnu sintaksu za verziju PowerShell-a koju koristite.
  2. Zatim provjerite jeste li blokove Try i Catch postavili u ispravan redoslijed.
  3. Osnovna sintaksa za Try-Catch navedena je u nastavku. Zamijenite # kod za pokretanje ovdje s kodom i # kod za obradu pogreške ovdje s kodom za obradu pogreške:

Pokušajte {
# kod za pokretanje ovdje
}
Ulov {
# kod za obradu pogreške ovdje
}

2. Provjerite hvatate li određenu pogrešku 

Morate provjeriti hvatate li određene pogreške koje želite obrađivati, a ne sve pogreške. Slijedite ove korake da biste učinili isto:

  1. pritisni Windows ključ, vrsta PowerShell, i kliknite Pokreni kao administrator.Skripta
  2. Da biste uhvatili pogrešku, morate koristiti $ varijablu u bloku Catch za pristup informacijama o pogrešci koja je izbačena. Provjerimo primjer istog da bismo bolje razumjeli: Pokušajte {
    Get-ChildItem -Path C:\DoesNotExist
    }
    Ulov {
    if ($_.Iznimka. GetType().Name -eq "DirectoryNotFoundException") {
    Write-Output "Imenik nije pronađen."
    }
    inače {
    izbaci $_.Exception|
    }
    }

3. Postavite vrijednost ErrorAction 

Zadana vrijednost za ErrorAction je Nastavi; međutim, da bi Try-Catch radio, trebate postaviti vrijednost ErrorAction na Stop. Da biste to učinili, slijedite ove korake:

  1. Otvoren PowerShell kao administrator.
  2. Morate koristiti cmdlet Set-StrictMode ili parametar ErrorAction na pojedinačnim cmdletima. Da bismo to bolje razumjeli, pogledajmo primjer:
Pokušajte Catch s ErrorAction Stop PowerShell

Pokušajte {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Ulov {
Write-Output $_.Iznimka. Poruka
}

Pročitajte više o ovoj temi
  • Evo kako oporaviti svoj BitLocker ključ s OneDrivea
  • Kako koristiti Phone Link za iPhone na Windows 11
  • DaVinci Resolve Visoko korištenje CPU-a: Kako ga smanjiti

4. Koristite ispravnu vrstu iznimke

Važno je koristiti ispravne iznimke kada koristite Try-Catch, jer može obraditi samo iznimke sustava. Vrsta iznimke. Ako ste koristili ne-Sustav. Pogreške iznimke, tada Try-Catch neće raditi.

Što se tiče ne-Sustava. Iznimka, trebate upotrijebiti mehanizam za rukovanje pogreškama okvira NET ili uhvatiti pogrešku.

5. Izbjegavajte prekid skripte 

Ako se vaša skripta prekine prije nego što dođe do bloka Catch, Try-Cach neće imati priliku riješiti pogrešku. Da biste izbjegli prekid skripte, slijedite ove korake:

  1. Pokreni PowerShell s administratorskim pravima.
  2. Morate koristiti Nastaviti izjava nakon Ulov blok. Razumimo to na primjeru:
probaj konačno uhvatiti

Pokušajte {
Get-ChildItem -Path C:\DoesNotExist
}
Ulov {
Write-Output $_.Iznimka. Poruka
Nastaviti
}

6. Upotrijebite Try-Catch-Finally

 Ako naredba Try-Catch i dalje ne radi, umjesto nje možete upotrijebiti konstrukciju Try-Catch-Finally. Ovo osigurava da se vaš kod izvodi do kraja, čak i ako se pojavi iznimka.

  1. Otvoren PowerShell kao administrator.
  2. Upišite naredbu s Pokušaj-uhvati-napokon. Evo primjera za bolje razumijevanje skripte:

Pokušajte {
# Vaš kod ovdje

Catch [Sustav. Iznimka] {
# Kod za rukovanje iznimkama ovdje

konačno {
 # Kod za čišćenje ovdje
}

Dakle, ovo su načini na koje možete riješiti problem Try Catch ne radi na PowerShellu. Ako imate pitanja u vezi s Try-Catchom, spomenite ih u odjeljku za komentare u nastavku. Rado ćemo pomoći!

Ako želite znati kako zaustaviti zatvaranje PowerShell nakon pokretanja skripte, možete pročitati ovo.

Još uvijek imate problema? Popravite ih ovim alatom:

SPONZORIRANO

Ako gornji savjeti nisu riješili vaš problem, vaše računalo može imati dublje probleme sa sustavom Windows. Preporučujemo preuzimajući ovaj alat za popravak računala (ocijenjeno Sjajno na TrustPilot.com) kako biste im se jednostavno obratili. Nakon instalacije jednostavno kliknite Započni skeniranje i zatim pritisnite na Popravi sve.

PowerShell se ne može nazvati učitanim jer je pokretanje skripti onemogućeno na ovom popravku sustava

PowerShell se ne može nazvati učitanim jer je pokretanje skripti onemogućeno na ovom popravku sustavaPowershellWindows 10Windows 11

Korisnici Windowsa mogu pokretati svoje PowerShell skripte pomoću PowerShell terminala sa samo jednom naredbom. Ali, ponekad, obično za korisnike koji prvi put dolaze, poruka o pogrešci "Powershell...

Čitaj više
Get-Appxpackage u PowerShell Pristup je odbijen ili ne radi [Popravak]

Get-Appxpackage u PowerShell Pristup je odbijen ili ne radi [Popravak]PowershellWindows 10Windows 11

Kad god je bilo koja aplikacija instalirana na sustavu, ona je u osnovi preuzeta iz Microsoftove trgovine ili bilo koje treće strane izvori moraju biti ažurirani, ponovno registrirani ili deinstali...

Čitaj više
Pokrenite Windows Update iz naredbenog retka [2 različita načina]

Pokrenite Windows Update iz naredbenog retka [2 različita načina]Ažuriranja Sustava WindowsPowershellNaredbeni Redak

Slijedite ove jednostavne korake za instaliranje ažuriranja sustava Windows putem naredbiWindows možete ažurirati iz naredbenih redaka putem naredbenog retka i Windows PowerShell.Stvorite točku vra...

Čitaj više