Pogledajte određenu poruku
Staro 09. 02. 2006.   #2
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Hvata greške na jednom mestu i ne brineš gde će se desiti (koliko "duboko"). Ovo je izuzetno bitno kod kompleksnih aplikacija. Primer:

PHP kôd:
$user = new User();
$user->setUsername('root');
try {
  
$user->save();
} catch(
Exception $e) {
  die(
'Error! ' $e->getMessage());

Do greške može doći jer objekat ne prolazi validaciju (root je prekatak user ili korisnik root već postoji) ili zbog greške u izvršavanju upita. Bilo kako bilo, ti je hvataš na jednom mestu. Dalje, jednostavno možeš obraditi više tipova greške:

PHP kôd:
try {
  
$user->save();
} catch(
ValidationException $e) {
  die(
'Validation error:<br />' implode('<br />'$e->getErrors()));
} catch(
QueryException $e) {
  die(
'Query error! ' $e->getSQL());

Pošto su izuzeci objekti možeš da čuvaš mnogo podataka o samoj grešci.

Nije da se ne može postići klasičnim metodama, ali to je već hakeraj i podrazumeva puno prljavog petljanja koje samo čini kod složenijim i podložnijim greškama. Izuzeci čine život lakšim

Poslednja izmena od Ilija Studen : 09. 02. 2006. u 18:25.
Ilija Studen je offline   Odgovorite uz citat