Gestionarea excepțiilor este o construcție comună a limbajului de programare care permite programelor să identifice și să gestioneze cu grație greșelile pe care le-ar putea întâlni în timpul rulării. Funcționează prin schimbarea fluxului unui program de la execuția normală la un set specific de acțiuni de atenuare atunci când este găsită o greșeală. Un programator poate crea seturi specifice de acțiuni care sunt invocate atunci când apar anumite greșeli. Găsirea și gestionarea excepțiilor nu este neapărat un eveniment fatal pentru un program; uneori este posibil ca execuția programului să continue după ce are loc gestionarea excepțiilor.
Este adesea posibil, în timpul programării unei anumite piese de cod, ca cineva să determine exact unde este necesară gestionarea excepțiilor. În acest caz, majoritatea limbajelor de programare, inclusiv Java și C++, au cuvinte cheie specifice și structuri de control care pot fi plasate în cod pentru a gestiona erorile. Aceste structuri pot gestiona o mare varietate de erori și, cu o întreținere adecvată, este adesea posibil ca un programator să prevadă majoritatea erorilor posibile pentru o anumită bucată de cod.
Gestionarea excepțiilor poate fi utilă și pentru analizarea intrării. De exemplu, atunci când se analizează introducerea numerică, se poate spune imediat dacă o bucată de date este non-numerică dacă este configurat corectorul de testare și de gestionare a excepțiilor. Dacă apare o excepție, handlerul o prinde, care spune imediat programului că intrarea este invalidă. Ce se întâmplă în continuare depinde de modul în care este structurat restul programului; ar putea ieși sau ar putea continua și pur și simplu să ignore intrarea nevalidă.
Gestionarea corectă a excepțiilor nu garantează o execuție impecabilă a programului. De asemenea, nu garantează că un program se va opri după ce este găsită o eroare și nu garantează că un program va continua. Pentru a gestiona corect erorile, un programator trebuie să folosească gestionarea excepțiilor împreună cu bunul simț și o atenție atentă la detalii. În mod ideal, gestionarea corectă a erorilor va permite unui program să evite cele mai grave tipuri de erori, cum ar fi accesarea nevalidă la memorie, oferind în același timp mesaje informative despre probleme care pot fi reparate, cum ar fi introducerea nevalidă sau probleme neașteptate cu execuția unui program.
Gestionarea excepțiilor prinde erori numite erori „timpul de rulare”; nu garantează că codul nu conține erori sau erori de sintaxă. Gestionarea erorilor în cod nu garantează că codul este corect. Este posibil ca gestionarea erorilor să rateze erorile din cod și chiar și cea mai bună captare a erorilor este rareori sigură. După ce depanarea este completă, prezența gestionării excepțiilor permite o întreținere mult mai ușoară a codului și o viitoare depanare, dacă este necesar.