látott már valaha alkalmazás összeomlást? Ha igen, tudod, milyen frusztráló lehet kapni, és ha egy programozó, akkor valószínűleg káromkodás a fejlesztő nem üzembe a megfelelő hibakezelő mechanizmus benne! És pontosan erről szól ez a darab. A hibakezelés az alkalmazás kódjának szerves része, mivel előre nem látható hibákat fog el, és biztosítja az alkalmazás biztonságos leállítását., A legtöbb programozási nyelvhez hasonlóan a PowerShell támogatja a try-catch nevű hibakezelő mechanizmust is, de előtte tanuljunk meg egy kicsit a PowerShell hibakezeléséről.
miért van szüksége hibakezelésre?
egy nagyon alapvető kérdés, amelyet a legtöbben már tudnak. Mégis, röviden érintsük meg, hogy megismételjünk néhány fontos pontot.
a hibakezelés a következő módon segít.
- megakadályozza az alkalmazás összeomlását.
- megkönnyíti a felhasználó számára, hogy tudja, hogy valami nincs rendben, és hogy kapcsolatba kell lépniük a támogató csapattal.,
- részletezi a hibát és annak lehetséges okait.
- segít a további elemzésben és a problémák megoldásában.
- lehetőséget ad a végfelhasználóknak küldött hibaüzenetek testreszabására.
- megkönnyíti a kód karbantartását.
- a program a hiba és a kód függvényében még a hiba után is működhet.
- jó programozási gyakorlatnak tekinthető.
most, hogy megérintettük a hibakezelés előnyeit, lássuk, hogyan lehet végrehajtani a PowerShellben.,
hibakezelés PowerShellben
Általánosságban elmondható, hogy kétféle hiba létezik, ezek a következők: megszüntető és nem megszüntető hibák.
A hibák megszüntetése és megszüntetése
ahogy a neve is sugallja, a hibák megszüntetése azok, amelyek kritikusak, és hirtelen megszüntetik a programot, míg a nem végződő hibák lehetővé teszik a program futtatását, de rossz kimenetet vagy néha akár drasztikus eredményeket is adhatnak. Most, ha kíváncsi vagy, a nem megszüntető hibák potenciálisan veszélyesebbek, mint a hibák megszüntetése, mert nem tudod, milyen szempontok módosíthatók.,
néhány lehetséges megszüntetési hiba a memóriából és a szintaktikai hibákból ered, míg a programozási logikában és a váratlan hibákban a hibák nagy része a nem végződő kategóriába esik.
konvertáló nem végződő hibák megszüntető hibák
programozó, meg tudja mondani PowerShell kezelni a nem végződő hibák, mint megszüntető hibák, így a program leáll, ha találkozik, hogy az adott hiba. Ez a változás segít kezelni a hibát a PowerShell try-catch blokk használatával, mert alapértelmezés szerint a nem végződő hibákat nem lehet kezelni a try-catch blokkkal.,
a nem végződő hibák megszüntető hibákká történő konvertálásához használjon ErrorAction nevű paramétert. Minden parancsmag támogatja ezt a paramétert, és úgy tervezték, hogy megmondja a programnak, milyen lépéseket kell tennie, ha hibát észlel. ErrorAction jön a következő lehetőségek
- Stop: ez leállítja a programot, és kezeli azt, mint egy záró hiba.
- Folytatás: lehetővé teszi a program folytatását, majd megjelenik a hiba.
- SilentlyContinue: a program fut, és nem jelennek meg hibák.
- Ignore: figyelmen kívül hagyja a hibát, és folytatja.,
- érdeklődés: megjeleníti a hibát, és ellenőrzi, hogy folytatni kell-e.
- felfüggesztés: Ezt fel lehet használni a Windows PowerShell munkafolyamat. A korlátozás az, hogy nem tudja felfüggeszteni a speciális funkciókat.
A szintaxis, ErrorAction van:
$variable = Get:content \user.txt:ErrorAction Stop
Ez a parancs változások nem megszüntetéséről hiba a megszüntetéséről, így tudja kezelni.
try-catch block
Ha van egy megszüntető hiba, vagy átalakított egy nem végződő egy megszüntető hiba, akkor tudja kezelni azt a PowerShell try-catch blokk.,
Az általános szintaxis:
ebben A példában, az adatokat a fájl tárolja $változó, de ha hiba van, a kód kerül, hogy a catch blokk, valamint megjeleníti az üzenetet. A fenti példa egy alap, amelynek célja, hogy képet adjon a szintaxisról és a használatról. A való világban azonban ezt a PowerShell try-catch blokkot fogja használni, hogy betekintést nyerjen a hibába, és ennek megfelelően cselekedjen.,
gyakorlati alkalmazások PowerShell try-catch block
elérheti a hibarekordot a fogási blokkban. Valójában a Hibaüzenet az aktuális $ _ változóban van tárolva. Bármit megtehet ezzel a hibarekorddal, például elemezheti a hibát, figyelmeztetést jeleníthet meg stb. Az aktuális változó erőteljes tulajdonsága a kivétel, mivel az ötlet az, hogy többet tudjunk azokról a váratlan eseményekről, amelyek miatt a program leállt. A kivétel maga is számos attribútummal rendelkezik, mint például a Tételnév, a GetType, az üzenet stb.,,
például:
try{$variable = Get:content \user.txt:ErrorAction Stop}catch{write:output $_Exception.Message}
most, hogy az alapok egyértelműek, lépjünk a haladó részre.
használhatja a fogási blokkot konkrét kivételek fogására, feltéve, hogy ismeri vagy előre látja őket. Tegyük fel például, hogy egy adott üzenet jelenik meg, ha a fájl nem található, és más kivételek esetén a kódnak így kell kinéznie:
néhány szempont, amelyet figyelembe kell venni a try-catch
használatakor, tartsa szem előtt a következő pontokat a PowerShell try-catch blokk használata közben.,
- a próbablokk zárójelei és a fogási parancs között nem lehet kód. Más szavakkal, a “fogás” szónak azonnal a következő sorban kell lennie a
- try block záró záró zárójelei után ez a PowerShell try-catch blokk a leghasznosabb a programban előre jelzett hibák kezelésére.
- a fogási blokk elkapja a próbablokkba dobott kivételeket, függetlenül annak eredetétől.
- a PowerShell try-catch parancs kényelmes alternatíva több if utasításhoz.,
- a próbablokkot tetszőleges számú fogási blokk követheti,de egymás után kell lennie, nincs más kód között.
végül blokk
van valami úgynevezett végül blokk, hogy lehet használni a try-catch. Ez egy opcionális, és nem kell használni mindenkor. Ez a blokk végrehajtja a benne említett kódot, függetlenül attól, hogy hiba történt-e vagy sem. Ennek a blokknak az utolsó fogási blokk záró zárójelei után kell jönnie.,
például:
a fenti példában egy bejegyzést csatolnak a naplófájlba minden alkalommal, amikor megkísérlik elérni a fájlt, függetlenül attól, hogy a fájlt megtalálták-e vagy sem.
try-catch: próbáld ki és kerüld az összeomlásokat
a hibakezelés fontos része minden programnak, mivel megakadályozza az alkalmazás összeomlását, és segít a hiba lehetséges okainak elemzésében. PowerShell try-catch blokk egy hatékony módja annak, hogy elfog megszüntető hibák, így kezelni őket biztonságosan anélkül, hogy egy baleset., Segít a probléma részletes elemzésében és megértésében is. Ezen okok miatt, ez egy must-volna a PowerShell szkriptek.
Leave a Reply