Pogledajte određenu poruku
Staro 09. 02. 2006.   #1
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default PHP5 Exceptions

Kao što verovatno svi znate, PHP5 ima mogućnost postavljanja Exceptions kao većina ozbiljnih programskih jezika. Pošto prepravljam neke klase da budu PHP5 only, interesuje me koja je, osim semantičke, prednost upotrebe Exceptions u odnosu na neko klasično "prikupljanje grešaka" u kodu.

Recimo, imamo najgori slučaj i lošu programersku praksu tipa:

PHP kôd:
$date getSomeData ();
if (empty(
$data))
    die (
"Data empty");
... 
to neću ni da komentarišem.

Onda imam slučaj koji ja koristim (u PHP < 5)
PHP kôd:
$data getSomeData ();
if (empty(
$data))
    
$ErrorClass->addError ("Data empty, line: ".__LINE__ERR_NON_CRITICAL);
...

if (
$ErrorClass->hasErrors())
{
    
$ErrorClass->displayErrors();

ili nešto slično... znači prikupljaju se greške i jednostavno prikažu negde (ili samo u debug) ali izvršenje scripta se nastavlja.

Koja je prednost (performanse, memorija... whatever) ako ja prepravim moj sistem da koristi exceptions, na primer ovako:

PHP kôd:
try {
    
$data getSomeData ();
    if (empty(
$data))
       throw new 
Exception ("Data empty, line: ".__LINE__ERR_NON_CRITICAL);
...
} catch (
Expception $e) {
    echo 
"Greška ".$e->getMessage();
}

... 
Znači, ovo su samo primeri bez veze, čisto me interesuje šta se tačno dobija po pitanju performansi, resursa ili nečeg drugog kada se upotrebljavaju Exceptions. Ja ne vidim neki značajan boljitak u kodu osim u preglednosti.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman
I don't always know what I'm talking about but I know I'm right!
bluesman je offline   Odgovorite uz citat