Raznolikost nalog, ki jih danes rešujemo s pomočjo osebnih računalnikov, zagotavlja obstoj ogromnega števila aplikacijskih programov. Priročnost dela s programsko opremo je v veliki meri odvisna od njene zanesljivosti, ki se izraža v odsotnosti izrednih razmer. Vendar se številni programi sesujejo v najbolj neprimernem trenutku. Zakaj?
Izjemen mehanizem se uporablja za sledenje in obvladovanje posebnih, nenormalnih ali napačnih situacij, ki se pojavijo med delovanjem računalniških programov pod nadzorom sodobnih operacijskih sistemov. Izjema sta lahko strojna oprema (ki jo odda procesor) in programska oprema (ki jo odda sama aplikacija ali kakšna zunanja komponenta vtičnika).
Ne glede na vrsto lahko izjemo ujamemo in pravilno obvladamo. Neujete izjeme gredo v korenski upravljalnik izvajalne knjižnice ali v nameščeni operacijski sistem. Če se to zgodi, se program zruši s sporočilom ali neobičajnim oknom za zaključek (v sistemu Windows). Če obdelovalec operacijskega sistema ni deloval (na primer namerno odstranjen), program "tiho zruši". Tako se programi zrušijo zaradi izjem, s katerimi ni mogoče ravnati. Razlogi za pojav izjem so različni.
V veliki večini primerov se programi zrušijo zaradi izvajanja lastne kode, ki vsebuje eksplicitne ali implicitne napake pri izvedbi. Seznam možnih vzrokov za izredne razmere je zelo dolg. Gre tako za klasične napake operacij s števili s plavajočo vejico (na primer delitev z 0) kot za napake pri delu s pomnilnikom (branje ali pisanje izven naslovnega prostora procesa, dostop do zaščitenih strani, pisanje v pomnilniško območje, ki je samo za branje), prelivni sklad zaradi neskončne rekurzije itd. V teh primerih se vržejo izjeme strojne opreme ali izjeme operacijskega sistema.
Implicitne napake vključujejo različne primere nezadostnega filtriranja vhodnih podatkov, pomanjkanje preverjanja vrednosti kazalcev in še veliko več. Takšne pomanjkljivosti vodijo do izjemnih razmer le v nekaterih primerih.
Napake pri izvedbi lahko najdemo tudi v zunanjih komponentah, ki jih uporablja aplikacija. Na primer v dinamičnih knjižnicah, ki zagotavljajo potrebno funkcionalnost ali dodatne module. Programska koda, ki je implicitno naložena v naslovni prostor procesa (na primer zaradi prestrezanja nekaterih funkcij API), lahko povzroči tudi zrušitev programa.
Številne komponente in knjižnice (na primer ADO v sistemu Windows) uporabljajo programski mehanizem izjem kot prednostno nalogo za poročanje o napakah. Odsotnost ali nepopolno obravnavanje izjem s tovrstno aplikacijo lahko povzroči zrušitev tudi v povsem neškodljivih situacijah (na primer izguba povezave z bazo podatkov).