oletko koskaan nähnyt sovellus kaatuu? Jos näin on, tiedät miten turhauttavaa se voi saada, ja jos olet ohjelmoija, voit luultavasti on kirous kehittäjä ei laittaa oikeaan virheenkäsittely mekanismi siinä! Ja juuri siitä tässä jutussa on kyse. Virheiden käsittely on olennainen osa sovelluksen koodia, koska se saaliit odottamattomia virheitä ja varmistaa, että sovellus lopetetaan turvallisesti., Kuten useimmissa ohjelmointikielissä, PowerShell tukee myös try-catch-nimistä virheenkäsittelymekanismia, mutta sitä ennen opitaan hieman virheiden käsittelystä Powershellissa.
miksi tarvitset virheenkäsittelyä?
melko peruskysymys, jonka moni saattaa jo tietää. Tarkastellaanpa sitä kuitenkin lyhyesti ja toistetaan joitakin tärkeitä seikkoja.
Virheiden käsittely auttaa seuraavilla tavoilla.
- estää sovelluksen kaatumisen.
- tekee käyttäjän helpoksi tietää, että jokin on pielessä ja että heidän pitäisi ottaa yhteyttä tukitiimiin.,
- kertoo tarkemmin virheestä ja sen mahdollisista syistä.
- auttaa lisäanalyyseissä ja ongelmien korjaamisessa.
- antaa mahdollisuuden muokata loppukäyttäjille lähetettyjä virheilmoituksia.
- helpottaa koodin säilyttämistä.
- ohjelmasi voi jatkaa toimintaansa myös virheen jälkeen, riippuen virheestä ja koodistasi.
- piti hyvänä ohjelmointikäytäntönä.
nyt kun olemme käsitelleet virheiden käsittelyn hyötyjä, katsotaan, miten se voidaan toteuttaa Powershellissa.,
Virheiden käsittely PowerShell
Yleisesti ottaen on olemassa kahden tyyppisiä virheitä ja ne ovat: päättämisestä ja ei-päättämisestä virheitä.
Päättämisestä ja ei-päättämisestä virheitä
Kuten nimestä voi päätellä, päättämisestä virheitä ovat ne, jotka ovat kriittisiä ja lopettaa ohjelman äkillisesti, kun taas ei-päättämisestä virheitä anna ohjelman ajaa, mutta voi antaa väärän lähtö tai joskus jopa rajuja tuloksia. Nyt jos mietit, ei-päättämisestä virheet ovat mahdollisesti vaarallisempia kuin päättämisestä virheitä, koska et tiedä, mitä näkökohtia voidaan saada muutettu.,
mahdollisia päättämisestä virheet ovat muisti-ja syntaksivirheitä, kun suuri osa virheitä ohjelmointi logiikka ja odottamattomia virheitä lasku ei-päättämisestä luokkaan.
Muuntaa ei-päättämisestä virheet päättämisestä virheitä
Kuten ohjelmoija, voit kertoa PowerShell käsitellä ei-päättämisestä virheet, kuten päättämisestä virheitä, niin ohjelma pysähtyy, jos se havaitsee, että erityisesti virhe. Tämä muutos auttaa sinua käsitellä virhe käyttämällä PowerShell try-catch-lohkossa, koska oletuksena ei-päättämisestä virheet voi käsitellä try-catch-lohkossa.,
muuttaakseen päättymättömät virheet päättymisvirheiksi, käytä parametria nimeltä ErrorAction. Jokainen cmdlet tukee tätä parametria ja se on suunniteltu kertomaan ohjelmalle, mitä toimia sen pitäisi tehdä, kun se kohtaa virheen. ErrorAction tulee seuraavat valinnat:
- Lopeta: Tämä lakkaa ohjelma ja kohtelee sitä kuin päättämisestä virhe.
- Jatka: antaa ohjelman jatkua ja virhe näkyy.
- SilentlyContinue: ohjelma kulkee eikä virheitä näy.
- Ignore: Ignores the error and continues.,
- Inquire: näyttää virheen ja tarkistaa, jos sen pitäisi jatkua.
- Suspend: tätä voidaan käyttää Windows PowerShell-työnkulussa. Rajoitus on, että se ei voi keskeyttää kehittyneitä toimintoja.
syntaksi ErrorAction on:
$variable = Get:content \user.txt:ErrorAction Stop
Tämä komento muuttuu ei-päättämisestä virhe tulee päättämisestä yksi, niin voit käsitellä sitä.
Rakennus try-catch-lohkossa
Kun olet päättämisestä virhe tai muunnetaan ei-päättämisestä yksi päättämisestä virhe, voit käsitellä sitä käyttämällä PowerShell try-catch-lohkossa.,
yleinen syntaksi on:
tässä esimerkki, tiedot tiedosto on tallennettu $muuttuja ja jos siellä on virhe, koodin saa catch-lohkon ja näyttää viestin. Edellä mainittu esimerkki on perus, joka on suunniteltu antamaan sinulle käsityksen syntaksista ja käytöstä. Todellisessa maailmassa kuitenkin, voit käyttää tätä PowerShell try-catch lohko saada oivalluksia virheestä ja ryhtyä toimiin sen mukaisesti.,
Käytännön sovelluksia PowerShell try-catch-lohko
Voit käyttää virhe-tietueen sisällä catch-lohkon. Itse asiassa virheviesti tallennetaan nykyiseen muuttujaan $_. Voit tehdä mitä tahansa tällä virhetallenteella, kuten jäsentää virheen, näyttää varoituksen ja enemmän. Nykyisen muuttujan voimakas ominaisuus on poikkeus, sillä ideana on tietää enemmän ohjelman pysähtymisen aiheuttaneista odottamattomista tapahtumista. Myös poikkeus itsessään tulee monia ominaisuuksia, kuten ItemName, GetType, viesti, jne.,,
esimerkiksi:
try{$variable = Get:content \user.txt:ErrorAction Stop}catch{write:output $_Exception.Message}
Nyt kun perusasiat ovat selkeitä, katsotaanpa siirtyä lisäasetukset-osassa.
voit pyydystää saalislohkolla tiettyjä poikkeuksia, jos tiedät tai ennakoit ne. Esimerkiksi, sanokaamme haluat tietyn viestin, joka näytetään, jos tiedostoa ei löydy, ja muut viestit muita poikkeuksia, koodi pitäisi näyttää tältä:
Jotkut pistettä harkitsemaan kun käytät try-catch
Pidä mielessä seuraavat seikat, kun käytät PowerShell try-catch-lohkossa.,
- ei pitäisi olla mitään koodia välillä päättämisestä henkselit yrittää estää ja kiinni-komento. Toisin sanoen, sana ”saalis” olisi välittömästi seuraavan rivin sulkemisen jälkeen henkselit yrittää estää
- Tämä PowerShell try-catch-lohko on erittäin hyödyllistä käsitellä virheitä, että sinun ennakoida voi tapahtua ohjelmassa.
- catch saalis mitään poikkeus heitetään sisällä yrittää estää sen alkuperästä riippumatta.
- PowerShell try-catch-komento on kätevä vaihtoehto jos useita lausuntoja.,
- try-lohkoa voi seurata mikä tahansa saalislohkojen määrä, mutta niiden pitäisi olla peräkkäisiä ilman muuta koodia välissä.
Vihdoin lohko
Siellä on jotain kutsutaan lopuksi lohko, joita voidaan käyttää try-catch. Tämä on valinnainen, eikä sitä tarvitse käyttää koko ajan. Tämä lohko suorittaa sen sisällä mainitun koodin riippumatta siitä, oliko virhe vai ei. Tämän lohkon pitäisi tulla heti viimeisen saalislohkon päätöserän jälkeen.,
esimerkiksi:
yllä olevassa esimerkissä, merkintä lisätään loki-tiedosto joka kerta yrittää käyttää tiedostoa, riippumatta siitä, onko tiedostoa ei löydy tai ei.
Try-catch: Kokeile ja välttää kaatuu
Virheiden käsittely on tärkeä osa minkä tahansa ohjelman, koska se estää sovellus kaatuu ja auttaa sinua analysoida mahdollisen virheen syy. PowerShell try-catch-lohko on tehokas tapa kaapata päättämisestä virheitä, joten voit käsitellä niitä turvallisesti aiheuttamatta kaatuu., Se auttaa yksityiskohtaisessa analyysissä ja ongelman ymmärtämisessä. Näistä syistä, se on must have in your PowerShell skriptejä.
Leave a Reply