Tratarea excepțiilor
În Java, excepțiile reprezintă o întrerupere în execuția normală a algoritmului. Acestea sunt folosite pentru a administra problemele apărute în timpul execuției și a lua măsurile de rigoare pentru a relua programul din locul în care este posibil. Excepțiile, ca orice altceva în Java, sunt obiecte. Clasa de bază pentru orice tip de excepție este java.lang.Throwable.
Din clasa Throwable se extind două alte clase:
- java.lang.Error - un tip de excepție care descrie o problemă gravă în execuția programului și din cauza căreia aplicația nu mai poate continua; aceste tipuri de excepții nu pot fi administrate.
- java.lang.Exception - o clasă care descrie excepții pe care o aplicație le poate administra și după care execuția se poate relua în mod corect;
Generarea excepțiilor
O excepție este generată (aruncată) folosind cuvântul cheie throw:
public void setAge(int _age){
if(_age < 0 || _age > 150){
Error _e = new Error("Invalid age " + _age);
throw _e;
}
age = _age;
}
O excepție odată generată, execuția normală a programului se întrerupe și se reia doar într-un bloc catch asociat acelui tip de excepție (vezi #tratarea excepțiilor). Spre exemplu, în situația de mai sus, după ce eroarea a fost generată folosind cuvântul cheie throw, asignarea age = _age; nu se mai execută.
Tratarea excepțiilor
În anumite situații, excepțiile întrerup definitiv execuția programului. Aceste tipuri de excepții nu se administrează (cele extinse din clasa Error). Există totuși excepții care pot fi tratate, cele extinse din clasa Exception. Acestea sunt de două tipuri: