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.
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:
throw
new Exception("Sporočilo")).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.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.