Kuinka korjata Try Catch PowerShell ei toimi?

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.
Kokeile, että powershell ei toimi

XASENNA NAPSAUTTAMALLA LATAA TIEDOSTOA

Erilaisten tietokoneongelmien korjaamiseen suosittelemme Restoro PC Repair Tool -työkalua:Tämä ohjelmisto korjaa yleiset tietokonevirheet, suojaa sinua tiedostojen katoamiselta, haittaohjelmilta ja laitteistohäiriöiltä ja optimoi tietokoneesi parhaan mahdollisen suorituskyvyn saavuttamiseksi. Korjaa PC-ongelmat ja poista virukset nyt kolmessa helpossa vaiheessa:
  1. Lataa Restoro PC Repair Tool joka tulee Patented Technologiesin mukana (patentti saatavilla tässä).
  2. Klikkaus Aloita skannaus löytääksesi Windows-ongelmia, jotka voivat aiheuttaa tietokoneongelmia.
  3. 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

  1. Ensin sinun on tarkistettava, oletko käyttänyt käyttämäsi PowerShell-version oikeaa syntaksia.
  2. Varmista seuraavaksi, että olet sijoittanut Try and Catch -lohkot oikeaan järjestykseen.
  3. 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:

  1. paina Windows avain, tyyppi PowerShell, ja napsauta Suorita järjestelmänvalvojana.Käsikirjoitus
  2. 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:

  1. Avata PowerShell järjestelmänvalvojana.
  2. Sinun on käytettävä Set-StrictMode-cmdlet- tai ErrorAction-parametria yksittäisissä cmdlet-sovelluksissa. Ymmärtääksemme sitä paremmin, katsotaanpa esimerkkiä:
Kokeile Catchia ErrorAction Stop PowerShellillä

Yrittää {
Get-ChildItem -Path C:\DoesNot Exist -ErrorAction Stop
}
Ottaa kiinni {
Write-output $_.Poikkeus. Viesti
}

Lue lisää tästä aiheesta
  • 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:

  1. Tuoda markkinoille PowerShell järjestelmänvalvojan oikeuksilla.
  2. Sinun on käytettävä Jatkaa lausunnon jälkeen Ottaa kiinni lohko. Ymmärretään se esimerkillä:
yritä saada vihdoin kiinni

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.

  1. Avata PowerShell järjestelmänvalvojana.
  2. 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.

Komentosarjojen suorittaminen on poistettu käytöstä tässä järjestelmässä [FIX]

Komentosarjojen suorittaminen on poistettu käytöstä tässä järjestelmässä [FIX]PowershellVirhe

Erilaisten PC-ongelmien korjaamiseksi suosittelemme DriverFix-tiedostoa:Tämä ohjelmisto pitää ajurit käynnissä ja pitää sinut turvassa tavallisista tietokonevirheistä ja laitteistovikoista. Tarkist...

Lue lisää
Kehittäjän PowerShell on nyt saatavana Visual Studio 2019: ssä

Kehittäjän PowerShell on nyt saatavana Visual Studio 2019: ssäPowershellVisuaalinen Studio

Microsoft ilmoitti äskettäin uusi työkalu Visual Studio 2019: lle.Kehittäjä PowerShell tulee käyttäjän palautteen tuloksenaKäyttäjien palautteen perusteella yritys lisäsi kehittäjän PowerShellin ni...

Lue lisää
PowerShell-automaattinen täydennys ei toimi? Kokeile näitä menetelmiä

PowerShell-automaattinen täydennys ei toimi? Kokeile näitä menetelmiäPowershell

Erilaisten PC-ongelmien korjaamiseksi suosittelemme DriverFix-tiedostoa:Tämä ohjelmisto pitää ajurit käynnissä ja pitää sinut turvassa tavallisista tietokonevirheistä ja laitteistovikoista. Tarkist...

Lue lisää