Obravnava izjem je običajna konstrukcija programskega jezika, ki omogoča programom, da prepoznajo in elegantno obravnavajo napake, na katere bi lahko naleteli med izvajanjem. Deluje tako, da spremeni potek programa iz običajnega izvajanja v določen niz ukrepov za ublažitev, ko se najde napaka. Programer lahko ustvari posebne nabore dejanj, ki se prikličejo, ko se zgodijo določene napake. Iskanje in obravnavanje izjem ni nujno usoden dogodek za program; včasih je možno, da se izvajanje programa nadaljuje po tem, ko pride do obravnave izjem.
Pogosto je mogoče med programiranjem določenega dela kode natančno določiti, kje je potrebna obdelava izjem. V tem primeru ima večina programskih jezikov, vključno z Javo in C++, posebne ključne besede in nadzorne strukture, ki jih je mogoče vstaviti v kodo za obravnavo napak. Te strukture lahko obravnavajo najrazličnejše napake in ob ustreznem vzdrževanju je pogosto možno, da programer predvideva večino možnih napak za določen kos kode.
Obravnava izjem je lahko uporabna tudi za razčlenjevanje vnosa. Na primer, pri razčlenjevanju številskega vnosa lahko takoj ugotovite, ali je del podatkov neštevilski, če je nastavljen ustrezen obdelovalec testov in izjem. Če pride do izjeme, jo upravljavec ujame, kar programu takoj pove, da je vnos neveljaven. Kaj se zgodi naprej, je odvisno od tega, kako je strukturiran preostali del programa; lahko zapusti ali pa nadaljuje in preprosto prezre neveljaven vnos.
Pravilno ravnanje z izjemami ne zagotavlja brezhibnega izvajanja programa. Prav tako ne zagotavlja, da se bo program ustavil, ko bo odkrita napaka, in ne zagotavlja, da se bo program nadaljeval. Za pravilno ravnanje z napakami mora programer uporabljati obdelavo izjem v povezavi z zdravo pametjo in skrbno pozornostjo do detajlov. V idealnem primeru bi pravilno ravnanje z napakami omogočilo programu, da se izogne najresnejšim vrstam napak, kot je neveljaven dostop do pomnilnika, hkrati pa daje informativna sporočila o težavah, ki jih je mogoče popraviti, kot so neveljavni vnos ali nepričakovane težave pri izvajanju programa.
Obravnava izjem ujame napake, imenovane napake “runtime”; ne zagotavlja, da je koda brez hroščev ali sintaksnih napak. Obravnavanje napak v kodi ne zagotavlja, da je koda pravilna. Možno je, da pri obravnavi napak zgrešijo napake v kodi in tudi najboljše prepoznavanje napak je le redko brez napak. Ko je odpravljanje napak končano, prisotnost ravnanja z izjemami omogoča veliko lažje vzdrževanje kode in prihodnje odpravljanje napak, če bo potrebno.