Pagina de start a forumului Informatica
 FAQ  •  Cautare  •  Membri  •  Grupuri   •  Inregistrare  •  Profil  •  Mesaje private  •  Autentificare
Subiectul urmator
Subiectul anterior
Creaza un subiect nou   Raspunde la subiect  Pagina de start a forumului Informatica » Despre limbajele de programare
Autor Mesaj
Admin
Administrator
Administrator


Data inscrierii: 07/Dec/2013
Mesaje: 1103

MesajTrimis: 12/12/2013 21:24 Raspunde cu citat (quote) Back to top

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.
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect

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