 |
| Autor |
Mesaj |
Admin
Administrator

Data inscrierii: 07/Dec/2013
Mesaje: 1103
|
Pentru tratarea erorilor remediabile Java foloseste exceptiile.
Exemple de exceptii pot fi :
• ArrayIndexOutOfBoundsException
• EOFException
• FileNotFoundException
• InterruptedException, etc
Exceptiile pot fi tratate in Java in mai numeroase moduri :
• pot fi ignorate ;
• pot fi tratate direct in codul in care apar;
• pot fi transmise codului ce a apelat metoda care a generat exceptia, in ideea ca vor fi tratate de acesta.
De obicei se recomanda tratarea erorilor in cadrul programului.
Exceptiile sunt tratate ca obiecte.
Codul de tratare a exceptiilor se afla in pachetul java.lang, mai întocmai in clasa java.lang.Exception.
Exceptiile sunt tratate cu ajutorul a trei modele de instructiuni : try, catch si finally. Acestea sunt utilizate in 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 utilizare a instructiunilor try - catch
public class ExExceptie {
public static void main (String args[]) {
int[] myArray = new int[10];
try {
System.out.println("Inainte de o atribuire valida in matrice...");
MyArray[0] = 100;
System.out.println("Inainte de o atribuire invalida in matrice...");
MyArray[100] = 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, ramanand in sarcina procedurii apelante sa trateze exceptia. Tipul exceptiei poate fi predefinit (existent in clasa java.lang.Exception) sau poate fi un tip definit aparte pentru o anume aplicatie. Sintaxa instructiunii este :
throw (Obiect_Exceptie)
Exemplu:
import java.net.*;
public class MyMain {
public static void main (String args[]) {
MalformedURLException e;
e = new MalformedURLException(“Adresa URL incorecta!”);
throw(e);
}
Personalizarea exceptiilor existente cat 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> high)) {
e = new MyOutOfRangeException("number " + value + " out of range");
throw(e);
}
}
}
Obs: sectiunea throw din declaratia functiei obliga absolut orice rutina care apeleaza metoda VerifyRange sa contina o procedura de tratare a exceptiei MyOutOfRangeException. |
|
|
|
|
 |
|
|
|
|
Subiectul urmator
Subiectul anterior
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum |
Powered by phpBB
© 2001, 2002 phpBB Group
|
|