Autor Zpráva
tingo
Profil *
function checknull($variable) me overuje zda je vyplnena promenna $variable, kde mohu zachytit vyjimku napr. kdyz bude prazdna? vubec nevim kde. jako primo v te funkci mezi {}

treba takto?

function checknull($variable)

        {

        try { if ($variable===NULL) { throw new NevyplnenaPolozka($variable)} }

        catch (NevyplnenaPolozka $variable) { print $variable; }

        }
suvel
Profil
Moc nerozumím, na co se ptáš.
napr. kdyz bude prazdna?: if ($variable=="")?
Ale ten kód je stejně nesmyslný.
Nebo jsem to pochopil jinak?
juriad
Profil
function a() {
/* try { //1*/
  {
/* try { //2*/
    {
/* try { //3*/
       throw new Exception();
/* } catch(Exception e) {...} //3*/
     }
/* } catch(Exception e) {...} //2*/
  }
/* } catch(Exception e) {...} //1*/
}

function b() {
/* try { //4*/
  {
/* try { //5*/
    a();
/* } catch(Exception e) {...} //5*/
  }
/* } catch(Exception e) {...} //4*/
}

function c($i) {
/* try { //6*/
  {
/* try { //7*/
    if($i==0) {
/* try { //8*/
      b();
/* } catch(Exception e) {...} //8*/
    } else {
/* try { //9*/
       c($i-1);
/* } catch(Exception e) {...} //9*/
    }
/* } catch(Exception e) {...} //7*/
  }
/* } catch(Exception e) {...} //6*/
}

/* try { //10*/
{
/* try { //11*/
 c(100);
/* } catch(Exception e) {...} //11*/
}
/* } catch(Exception e) {...} //10*/

vyber si jakékoli místo
pozor, číslo 9 neodchytne, pokud se volá c rovnou s hodnotou 0
nic šílenějšího mě nenapadlo
Tori
Profil
tingo:
Takovýto způsob použití výjimky mi nedává smysl. Píšete: „function checknull($variable) me overuje zda je vyplnena promenna $variable“. Ok, ověří to a co potom? Co má dělat, pokud proměnná je vyplněná?
Výjimka označuje IMHO přesně toto - výjimečný, neočekávaný stav, se kterým si kód na tomto místě nedokáže sám poradit, a proto signalizuje nadřízenému (=kódu, který tuto funkci zavolal), že je nějaký vážný problém. Ve vašem případě bych použila buď návratovou hodnotu (pokud se to má ověřovat za běhu, v ostrém provozu) nebo aserci (pokud to ověření má probíhat jen někdy, v testovacím režimu). Ale je to jen můj názor, nevnucuju vám ho.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0