Rôzne úlohy riešené dnes pomocou osobných počítačov poskytuje existencia obrovskej sady aplikačných programov. Pohodlie práce so softvérom do značnej miery závisí od jeho spoľahlivosti, ktorá sa vyjadruje pri absencii núdzových situácií. Mnoho programov však zlyhá v najnevhodnejšom okamihu. Prečo?
Mechanizmus výnimiek sa používa na sledovanie a riešenie zvláštnych, neobvyklých alebo chybných situácií, ktoré vzniknú počas prevádzky počítačových programov pod kontrolou moderných operačných systémov. Výnimkou môže byť hardvér (vyvolaný procesorom) a softvér (vyvolaný samotnou aplikáciou alebo niektorým externým komponentom doplnku).
Bez ohľadu na typ je možné výnimku zachytiť a správne s ňou zaobchádzať. Neprijaté výnimky idú do obslužnej rutiny knižnice root runtime alebo do obslužného programu nainštalovaného v operačnom systéme. Ak k tomu dôjde, program zlyhá so správou alebo neobvyklým ukončovacím oknom (v systéme Windows). Ak obslužný program operačného systému nefungoval (napríklad bol zámerne odstránený), program „ticho zlyhá“. Programy teda zlyhávajú kvôli výnimkám, ktoré sa nedajú spracovať. Dôvody výskytu výnimiek sú rôzne.
V drvivej väčšine prípadov programy zlyhávajú v dôsledku vykonania vlastného kódu obsahujúceho chyby explicitnej alebo implicitnej implementácie. Zoznam možných príčin mimoriadnych udalostí je veľmi dlhý. Ide o klasické chyby operácií s číslami s pohyblivou rádovou čiarkou (napríklad delenie 0) a chyby práce s pamäťou (čítanie alebo zápis mimo priestor adries procesu, prístup na chránené stránky, zápis do oblasti pamäte iba na čítanie), zásobník pretečenia kvôli nekonečnej rekurzii atď. V týchto prípadoch sa uplatnia hardvérové výnimky alebo výnimky operačného systému.
Implicitné chyby zahŕňajú rôzne prípady nedostatočného filtrovania vstupných údajov, nedostatočné overenie hodnôt ukazovateľa a oveľa viac. Takéto nedostatky vedú k výnimočným situáciám iba v určitých prípadoch.
Chyby implementácie možno nájsť aj v externých komponentoch používaných aplikáciou. Napríklad v dynamických knižniciach, ktoré poskytujú potrebnú funkčnosť, alebo doplnkových moduloch. Programový kód, ktorý je implicitne načítaný do adresného priestoru procesu (napríklad na zachytenie určitých funkcií API), môže tiež spôsobiť zlyhanie programu.
Mnoho komponentov a knižníc (napríklad ADO v systéme Windows) používa mechanizmus programových výnimiek ako prioritu pri hlásení chýb. Absencia alebo neúplné spracovanie výnimiek týmto druhom aplikácie môže viesť k jej zrúteniu aj v úplne neškodných situáciách (napríklad strata spojenia s databázou).