Kivételek a php

Kivételek a php

Ebben a cikkben fogjuk megvitatni veled a leggyakoribb felhasználási PHP kivétel, amely segít, hogy hatékonyan kezeli a hibákat alkalmazások az Ön által létrehozott, és akkor végre megszűnik szenvedni és írni egy csomó felesleges kód megérteni, hogy mi történik akkor, ha az egyes hiba lép fel.

Melyek a kivételek?

Kivételek PHP - különleges körülmények között előforduló, általában, abban az esetben a program hiba. Ezek jelenléte arra utal, hogy valami nincs rendben során az állítólagos események. Általános szabály, hogy a szakértők inkább használni az ilyen helyzetekben, megfelelő utasításokat annak érdekében, hogy elkerüljék a ellenőrizetlen leállás folyamat.

Mivel a PHP kivételeket a gyakorlatban?

Két kivétellel, a keresetet lehet tenni: dobás (dobott) és a fogási (fogott). Ha a kivétel visszavontnak tekintik, ez azt jelenti, csak egy dolog: a tanfolyam a program van valami, ami túlmutat a norma. Ebben az esetben meg kell használni egy másik funkció. Elkapni kivételek kapsz csak egy speciális funkció, amely viszont értesíti az egész programot, amely készen áll a feldolgozásra kivételek.

  1. Képzeljük el, hogy a böngésző - ez kancsó dobja a labdát, hogy az elkapó.
  2. A játékos, tészta megpróbálja megütni, de ő nem tér el, hogy nem. Ennek eredményeképpen, ő kap egy figyelmeztetést. Ha egy játékos nem a munka, majd egy védõ lehetőség van, hogy elkapja a labdát.
  3. Fielder elkapja a labdát, és akkor két lehetőség van: dobd másik mezőnyjátékos (kis távolságra a tésztát), vagy hogy a slugger ki a játék dobtak a labdát rá.

Throw dobó elkapó ebben az esetben össze lehet hasonlítani a rendes eljárásban. Azonban, ha a játékosnak sikerül a tésztát elérje a labdát, aztán jön a nagyon kivétel.

Amikor egy mezőnyjátékos elkapja a labdát, akkor ez a művelet nagyon hasonló végrehajtásának try-catch funkció, mely képes kezelni kivételek. Ez a funkció nem csak magát, hogy végre minden szükséges intézkedést, hanem dobni egy kivételt kiderült, hogy a funkciót.

Hogyan kell helyesen használni kivételek?

Ha azt szeretnénk, hogy megtanulják, hogyan kell kezelni, kivéve, PHP, akkor meg kell érteni egy dolog: a kivételek szerves részének tekintendők a PHP (SPL) standard könyvtár, valamint része a PHP alapelemei, feltéve, hogy azok tartoznak, 5 verzió. Azt is csak akkor van szükség, hogy megértsék a használatuk jellegének.

Kivételt lehet végrehajtani ugyanolyan módon, mint bármilyen más tárgy:

Ennek alapján van egy speciális kivételt a módszereket, hogy lehet nevezni, ha szükséges. Legutóbbi jelentősen megkönnyíti a formáció adott válasz alapján kivétel. Például egy funkciót, mint például a getMessage () lehetővé teszi, hogy egy hibaüzenet. És ez viszont is jelenik meg a böngésző, vagy írjon a napló.

Az alábbi lista a módszer PHP kivételek, amelyek lehetővé teszik, hogy kap egy kivétel üzenet - getMessage ();

  1. Visszatérés számkód bemutatott kivételével - getCode ();
  2. Szerezd meg a fájlt, amelynek belsejében kivétel volt - getFile ();
  3. Visszatérés a sor számát a fájlban, ahol a kivétel bekövetkezett - getline ();
  4. Return array backtrace () bekövetkezéséig kivétellel - getTrace ();
  5. Szerezd meg a kivétel előtt keletkeztek a jelenlegi, ha igen, természetesen az volt - getPrevious ();
  6. Return array backtrace () kivételek formájában húr - getTraceAsString ();
  7. Visszatért a húrt kivétellel - toString (). Ez a funkció felülírja másként.

A jobb érthetőség kedvéért, a fenti módszerek létrehoz egy felhasználói osztály, amelyet végre kell hajtani a kezdeti kezelése felhasználói fiókok:

Ebben a példában, több helyen egyszerre, amely lehet kivétel. Először is, $ user_id funkció _getUserRecord () típusú kell hogy legyen egész. Ha a folyamat megy a másik irányba, akkor a következő lépés az, hogy létrehoz kivételekkel:

Ezt követően, a felhasználók által létrehozott a rossz ID:

Miután ezeket a lépéseket, a rendszer ezt a bejelentést. Most felidézni Fielder, aki nem csak elkapni a kivételt, hanem a kezelésére:

Ebben az esetben, amikor megkapjuk a fogás egy kivétel, akkor elkerülhetjük a rendszer jelez hibát, alakított PHP alapértelmezés szerint.

Azt se felejtsük el, hogy a keletkezett kivétel lehet állítani, ha a fenti funkciókat try-catch tudta elkapni. Ellenkező esetben egy hibaüzenet jelenik meg a böngészőben. Próbálja meg kitalálni, hogy pontosan hol a fenti példában van egy kivétel dobták.

  1. Egy új felhasználói objektum a string $ felhasznalo2 = new felhasználó ( 'nem numerikus');
  2. Feladatot lát __construct () osztály felhasználói;
  3. Átmenet készül működni _getUserRecord () osztály felhasználói;
  4. Van egy ellenőrzést $ user_id _validateUserId funkció;
  5. Ebben az esetben, ha a $ user_id nem ismerik el egy számérték, a kivétel objektum dobni.

Ezen felül, akkor getTraceAsString () függvény annak érdekében, hogy figyelemmel kíséri a további kivételekkel:

Ha a kivétel bekövetkezett mélyebb hívás $ felhasznalo2 = new felhasználó (nem numerikus), akkor a tetején, amíg a try-catch blokk nem tudja feldolgozni.

Most megpróbálunk létrehozni egy kivétel az alkalmazás kódját. Betartása a számkódot kivételével - ez egy nagy lépés, hogy eltitkolja a hibáról a kliens. Alapértelmezésben kivételkód nulla.

Ez azonban lehet változtatni idején kivételével:

Ügyeljen arra, hogy hozzon létre egy osztályt UserErrors:

Így van a módosítás a kivétel kezelő megjeleníti a kivétel kód helyett jelenik meg az üzenet.

Arra is szükség van, hogy más módszerek alkalmazását nyomon követésére kivételek. Például létrehozhat egy osztály Logger:

Ezután elvégezzük kivételkezeléssel módosítását annak érdekében, hogy képes legyen használni az Logger osztály:

Most elértük, hogy a végrehajtása során a program megjeleníti a kivétel kódot. A fájl exceptions_log.html láthatjuk az összes vonatkozó információt a helyét a kivétel.

Ahogy azt már korábban tanultuk, a kivétel - ez egy fontos eszköz a programban részt vevő hibakezelés. Azonban a kibővített kivételek lehetővé teszi a programozó, hogy menjen egy másik szintre.

Ahhoz, hogy létrehozza ezt a fajta kivétel, először meg kell építeni egy osztály kivétel, amely meghosszabbítja az Exception osztály.

Ezt követően meg kell hozzon létre egy egyéni kivétel osztály UserException a fenti, már épített egy kicsit magasabb:

Ennek eredményeként, mi átírta a funkció __construct, amely felelős a végrehajtás a kivitelező. Mivel hoztuk létre az osztály utódja Exception osztály, ebben az esetben célszerű alkalmazni a kivitelező által szülő irányelvet.

Így enyhíti magunkat az állandó hibaüzenetek generáció, a munkájukban csak a kivételes kódot. Törölni is lehet a felvétel funkciót a magazin, hogy pontosan ugyanazt előírt egyéni tervezők.

Most frissíti a kódot alkalmazandó új osztály UserException:

Ahhoz, hogy a változások a kódot, ahol kivételt okozhat. Ehhez válassza ki az osztályt felhasználó.

Most megpróbálunk elkészíteni három kivétellel:

Milyen előnyöket várnak bennünket, amikor a kiterjesztett kizárása?

Először is, mi is létrehozhatunk egy egyéni tervezők.

Másodszor, a kiterjesztett típusú kivételek, átírhatjuk a funkció __construct és fuss egyéni kódot.

Harmadszor szervezik lehetséges kivételével típusától függően az objektumot. Nos, és a negyedik, tudjuk alkalmazni a blokk több elfogott felmerült feldolgozása során kivétel függően típusát.

Hogyan kell használni az erejét több interceptiont?

Amikor kivéve bizonyos típusú lehet sokkal könnyebb kezelni a készülékkel. Hasonló technikát lehet alkalmazni abban az esetben, hogy van néhány különböző típusú kivételek.

Például egy try-catch blokk képes kezelni kivételek csak hagyományos típusú. De ez a technika sokkal szánt váratlan események.

Most megpróbáljuk megváltoztatni a meglévő kódot úgy, hogy UserException kivételek kezelése különleges módon. Ehhez meg kell alkalmazni a másik lehallgatás egységet, és akkor minden váratlan kivételt kell kezelni sikeresen.

A fenti kivételek (UserException és kivétel) lehet kezelni a különböző módon, és néhányan úgy tűnhet, hogy külön a kezelés nem használható. Azonban, mivel akkor kap a show, vagy írjon a lapban speciális kivételek.

Egészében PHP kivétel központosított és egyszerű feldolgozását különféle hibákat futtatását.

--------- Anyagok net.tutsplus.com ---------

Kapcsolódó cikkek