Voit korjata tämän etsimällä väärää syntaksia
- Jos Try-Catch ei toimi PowerShellissä, sinun on tarkistettava virheelliset syntaksi- ja virhetoimintoarvot.
- Tämä opas selittää eri tapoja ratkaista ongelma.
XASENNA NAPSAUTTAMALLA LATAA TIEDOSTOA
- Lataa Restoro PC Repair Tool joka tulee Patented Technologiesin mukana (patentti saatavilla tässä).
- Klikkaus Aloita skannaus löytääksesi Windows-ongelmia, jotka voivat aiheuttaa tietokoneongelmia.
- Klikkaus Korjaa kaikki korjataksesi tietokoneesi turvallisuuteen ja suorituskykyyn vaikuttavia ongelmia.
- Restoron on ladannut 0 lukijat tässä kuussa.
Try-Catchin lausunto PowerShell käsittelee koodisi virheet ja poikkeukset. Jos Try-Catch ei toimi PowerShellin poikkeuksella, se voi olla turhauttavaa.
Tässä oppaassa käsittelemme kaikkia tapoja korjata ongelma sekä ongelman todennäköisiä syitä. Aloitetaan!
Mikä aiheuttaa sen, että Try-Catch ei toimi PowerShellissä?
Voi olla useita syitä, miksi lauseke ei toimi PowerShellissä. Tässä on joitain yleisimmistä:
- Oletusvirhetoiminto asetettu – Jos ErrorAction-asetuksena on Continue, silloin Try-Catch ei toimi odotetulla tavalla.
- Syntaksivirheet – Jos käytetty syntaksi on väärä, muotoilu on virheellinen tai siitä puuttuu avainsanoja, Try-Catch ei toimi.
- Cmdlet- tai funktion käyttäytyminen – Joidenkin toimintojen ja cmdlet-komentojen mukana tulee virheenkäsittelykäyttäytyminen, joka ei ehkä ole yhteensopivia Try-Catchin kanssa.
- Väärä logiikka tai muuttujien käyttö – Jos sitä on käytetty väärin muuttujia tai väärä logiikka, Try-Catch ei toimi.
Mitä voin tehdä, jos Try-Catch ei toimi PowerShellissä?
1. Tarkista syntaksi
- Ensin sinun on tarkistettava, oletko käyttänyt käyttämäsi PowerShell-version oikeaa syntaksia.
- Varmista seuraavaksi, että olet sijoittanut Try and Catch -lohkot oikeaan järjestykseen.
- Try-Catchin perussyntaksi mainitaan alla. Korvaa # koodi, joka suoritetaan tässä, koodilla ja # virheenkäsittelykoodi tässä virheenkäsittelykoodilla:
Yrittää {
# koodi suoritetaan tässä
}
Ottaa kiinni {
# virheenkäsittelykoodi täällä
}
2. Tarkista, onko tiedossa jokin tietty virhe
Sinun on tarkistettava, tallennatko tiettyjä virheitä, joita haluat käsitellä, etkä kaikkia virheitä. Tee sama noudattamalla näitä ohjeita:
- paina
Windows
avain, tyyppi PowerShell, ja napsauta Suorita järjestelmänvalvojana. - Jos haluat havaita virheen, sinun on käytettävä $ muuttuja Catch-lohkossa saadaksesi tietoja tapahtuneesta virheestä. Tarkastellaanpa esimerkkiä samasta ymmärtääksemme paremmin:
Yrittää {
Get-ChildItem -Path C:\DoesNot Exist
}
Ottaa kiinni {
if ($_.Poikkeus. GetType().Name -eq "DirectoryNotFoundException") {
Write-Output "Hakemistoa ei löydy."
}
else {
heittää $_.Exception|
}
}
3. Aseta ErrorAction-arvo
ErrorAction-oletusarvo on Continue; Kuitenkin, jotta Try-Catch toimisi, sinun on asetettava ErrorAction-arvoksi Stop. Voit tehdä tämän seuraavasti:
- Avata PowerShell järjestelmänvalvojana.
- Sinun on käytettävä Set-StrictMode-cmdlet- tai ErrorAction-parametria yksittäisissä cmdlet-sovelluksissa. Ymmärtääksemme sitä paremmin, katsotaanpa esimerkkiä:
Yrittää {
Get-ChildItem -Path C:\DoesNot Exist -ErrorAction Stop
}
Ottaa kiinni {
Write-output $_.Poikkeus. Viesti
}
- Näin palautat BitLocker-avaimesi OneDrivesta
- Puhelinlinkin käyttäminen iPhonelle Windows 11:ssä
- DaVinci Ratkaise korkea suorittimen käyttö: kuinka vähentää sitä
4. Käytä oikeaa poikkeustyyppiä
On tärkeää käyttää oikeita poikkeuksia Try-Catchiä käytettäessä, sillä se pystyy käsittelemään vain järjestelmän poikkeuksia. Poikkeustyyppi. Jos olet käyttänyt muuta kuin järjestelmää. Poikkeusvirheet, Try-Catch ei toimi.
Mitä tulee ei-järjestelmään. Poikkeuksena sinun on käytettävä NET-kehyksen virheenkäsittelymekanismia tai saatava virhe kiinni.
5. Vältä skriptin lopettamista
Jos komentosarjasi lopetetaan ennen Catch-lohkon saavuttamista, Try-Cach ei saa mahdollisuutta käsitellä virhettä. Voit välttää komentosarjan lopettamisen seuraavasti:
- Tuoda markkinoille PowerShell järjestelmänvalvojan oikeuksilla.
- Sinun on käytettävä Jatkaa lausunnon jälkeen Ottaa kiinni lohko. Ymmärretään se esimerkillä:
Yrittää {
Get-ChildItem -Path C:\DoesNot Exist
}
Ottaa kiinni {
Write-output $_.Poikkeus. Viesti
Jatkaa
}
6. Käytä Try-Catch-Finally -toimintoa
Jos Try-Catch-käsky ei vieläkään toimi, voit käyttää sen sijaan Try-Catch-Finally-rakennetta. Tämä varmistaa, että koodisi suoritetaan loppuun, vaikka poikkeus tapahtuisi.
- Avata PowerShell järjestelmänvalvojana.
- Kirjoita komento komennolla Kokeile-saappaa-vihdoin. Tässä on esimerkki käsikirjoituksen ymmärtämiseksi paremmin:
Yrittää {
# Koodisi tässä
}
Catch [System. Poikkeus] {
# Poikkeuskäsittelykoodi täällä
}
vihdoin {
# Puhdistuskoodi täällä
}
Joten nämä ovat tapoja, joilla voit ratkaista Try Catch -ongelman, joka ei toimi PowerShellissä. Jos sinulla on Try-Catchiin liittyviä kysymyksiä, mainitse ne alla olevassa kommenttiosiossa. Autamme mielellämme!
Jos haluat tietää, kuinka estää PowerShellia sulkemasta komentosarjan suorittamisen jälkeen, voit lukea tämän.
Onko sinulla edelleen ongelmia? Korjaa ne tällä työkalulla:
Sponsoroitu
Jos yllä olevat neuvot eivät ratkaisseet ongelmaasi, tietokoneessasi saattaa esiintyä syvempiä Windows-ongelmia. Suosittelemme lataamalla tämän tietokoneen korjaustyökalun (arvioitu erinomaiseksi TrustPilot.com-sivustolla) käsitelläksesi niitä helposti. Napsauta asennuksen jälkeen Aloita skannaus -painiketta ja paina sitten Korjaa kaikki.