Autor Zpráva
error414-
Profil *
Nikde sem nenasel jak se chova Trida DateTime.

kdyz zadam

new DateTime('02--');


tak to vyhodi vyjimku, ale pokud v kodu nekde pouziju

set_error_handler('my');

tak se me zavola tento errorHandler


takze kdyz mam v kodu

try{
  new DateTime('00--');
}catch(Exception $e){
  // ostreni
}


tak to po nastaveni errorhadleru vubec nefunguje
Majkl578
Profil
Vyhazuje výjimku při chybě.

Možná jsem úplně nepochopil problém, při nastavení error handleru nefunguje ten try block?

set_error_handler(function() {
	var_dump(func_get_args());
});

try{
  new DateTime('00--');
} catch(Exception $e) {

}

echo $foo;
error414-
Profil *
Majkl578:
presne tak, nefunguje try blok.

//set_error_handler('my');

function my(){
	var_dump('error datetime');
}


try{
  new DateTime('00--');
  var_dump('Po datumu');
}catch(Exception $e){
  var_dump('osetreni vyjimky datumu');
}


vypise
osetreni vyjimky datumu


ale kdyz odkomentuju error handler

set_error_handler('my');

function my(){
	var_dump('error datetime');
}


try{
  new DateTime('00--');
  var_dump('Po datumu');
}catch(Exception $e){
  var_dump('osetreni vyjimky datumu');
}

vypise
error datetime
Po datumu


Coz je uplne jine rizeni programu. Pokud chybu resim v try catch bloku a misto toho se me zavola error handler tak to cela aplikace zacne chovat jinak.

Nikde v manualu jsem nenasel jak se to ma chovat.
Majkl578
Profil
Asi se jedná o nějaký bug v tvé verzi PHP. Na 5.3.2 se to v obou případech chová dle očekávání.
Jakou máš verzi?
error414-
Profil *
5.2.11 tak to je parada pokud to zmenili. V komentarich k funkci set_error_handler jsem nasel zminku ze to nema byt bug ale fucura

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: