Extras din curs
Exceptiile pot fi tratate în Java în mai multe moduri :
• pot fi ignorate ;
• pot fi tratate direct în codul în care apar;
• pot fi transmise codului ce a apelat metoda care a generat exceptia, în ideea ca vor fi tratate de acesta.
De obicei se recomanda tratarea erorilor în cadrul programului.
Exceptiile sunt tratate ca obiecte.
Codul de tratare a exceptiilor se afla în pachetul java.lang, mai exact în clasa java.lang.Exception.
Exceptiile sunt tratate cu ajutorul a trei tipuri de instructiuni : try, catch si finally. Acestea sunt folosite în constructii de forma:
try {
instructiuni care pot genera o exceptie
}
catch (ExceptionType1 e) {
prelucrarea exceptiei de tipul 1
}
catch (ExceptionType2 e) {
prelucrarea exceptiei de tipul 2
}
finally {
prelucrarea tuturor celorlalte tipuri de exceptii
}
Exemplu de folosire a instructiunilor try - catch
public class ExExceptie {
public static void main (String argsst) {
intst myArray = new ints10t;
try {
System.out.println("Inainte de o atribuire valida in matrice...");
myArrays0t = 100;
System.out.println("Inainte de o atribuire invalida in matrice...");
myArrays100t = 100;
System.out.println("Dupa o exceptie in matrice");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Eroare de indice in matrice!");
}
}
}
Exemplu de folosire a instructiunii finally
...
Instructiunea throw determina generarea unei exceptii de catre codul propriu-zis, ramânând în sarcina procedurii apelante sa trateze exceptia. Tipul exceptiei poate fi predefinit (existent în clasa java.lang.Exception) sau poate fi un tip definit special pentru o anume aplicatie. Sintaxa instructiunii este :
throw (Obiect_Exceptie)
Exemplu:
import java.net.*;
public class MyMain {
public static void main (String argsst) {
MalformedURLException e;
e = new MalformedURLException(“Adresa URL incorecta!”);
throw(e);
}
Personalizarea exceptiilor existente cât si crearea de noi exceptii se realizeaza prin extinderea clasei java.lang.Exception
Exemplu
public class MyOutOfRangeException extends Exception {
public MyOutOfRangeException () {
super();
}
public MyOutOfRangeException (String s) {
super(s);
}
}
public class VerifyRange {
MyOutOfRangeException e;
public void verifyIntRange(int value, int low,int high) throws MyOutOfRangeException {
if ((value < low) || (value > high)) {
e = new MyOutOfRangeException("number " + value + " out of range");
throw(e);
}
}
}
Preview document
Conținut arhivă zip
- Exceptii in Java.doc