vadnica-logo
Editor Moj Blog Moje storitve O projektu Telegram O meni O meni

PHP Izjeme (Exceptions)

Izjema (Exception) je poseben objekt, ki opiše napako ali nepričakovano vedenje skripte. Uporabljamo jih, ko želimo izvajanje kode varno zaustaviti ali preusmeriti, če naletimo na težavo, ki je program ne more samodejno obdelati. S stavkom throw izjemo sprožimo, s strukturo try...catch pa jo ulovimo in pravočasno rešimo pred sesutjem celotne spletne strani.

PRIMER
REZULTAT
Tu bo prikazan rezultat...

Vgrajene metode objekta Exception

Ko izjemo ulovimo znotraj catch bloka, dobimo dostop do objekta, ki vsebuje natančne podatke o tem, kje in zakaj je šlo nekaj narobe. Za pridobivanje teh podatkov uporabljamo naslednje metode:

  1. Exception(): Konstruktor za ustvarjanje novega objekta izjeme (uporabimo pri throw new Exception("Sporočilo")).
  2. getMessage(): Vrne opisno sporočilo o napaki, ki smo ga določili ob sprožitvi.
  3. getCode(): Vrne številčno kodo napake za lažjo identifikacijo ali kategorizacijo težav.
  4. getFile(): Vrne polno (absolutno) pot do datoteke, v kateri je prišlo do izjeme.
  5. getLine(): Vrne točno številko vrstice, ki je sprožila izjemo.
  6. getTrace(): Vrne podrobno tabelo (array) vseh klicev funkcij in datotek, ki so pripeljale do trenutka napake.
  7. try ... catch ... finally: Glavna struktura za obdelavo izjem. Blok finally se izvede vedno (ne glede na to, ali je prišlo do napake ali ne), kar je idealno za npr. zapiranje odprtih datotek ali povezav z bazo.

💡 Kdaj uporabiti izjeme v praksi?

Izjeme niso namenjene običajnim sintaktičnim napakam (kot je pozabljeno podpičje). Uporabljamo jih za reševanje zunanjih, nepredvidljivih situacij, na katere programer nima neposrednega vpliva – na primer: ko oddaljeni API strežnik ne vrne podatkov, ko uporabnik naloži napačen tip datoteke ali ko se zruši povezava s podatkovno bazo. S tem, ko napako ulovite, lahko uporabniku prikažete prijazno obvestilo, namesto rdeče sistemske napake.