Ad mysql.trace_mode - to proste neni reseni. Co kdyz se zmeni databaze, ke ktere pristupuji, z mysql treba na IB/FB? Pak je mi to zcela nahouby. Prijde mi to navic jako spatny programatorsky postup - ta chyba neni v php kodu, stala na uplne jinem bezicim serveru a podle toho by mela byt take zpracovana.
"Zkusenejsi" programator stejne bude pristupovat k databazi nejak takto:
if (!$db->query("SELECT ...") { // osetreni chyb... }a pak neni problem mit logovani chyb zapouzdrene v pouzitem objektu. Protoze vsak osetreni neznamena vzdy jen zalogovani chyby, ale treba provedeni nejakych dalsich akci, tak podobnemu ifu se proste casto nevyhnete. Asi byste nechtel psat pro nekolik moznych chybu zvlast osetrujici funkci. Navic jak sam v clanku pisete: pokud se ale ošetření kritické chyby liší podle kontextu, je asi nejlepší ho přeci jen dát přímo do kódu.
Tento clanek proste neni vubec v nicem prinosny. O osetrovani chyb v php neni receno skoro nic. Vyjimky jste zcela odsoudil, pritom prave ty spise jsou nastroj pro ošetření chyb mimo hlavní kód. Neni zmineno, zda a jak lze napsat vlastni error handler definovany uzivatelem, funkce trigger_error() a podobne veci, tykajici se opravdu osetrovani chyb.
Clanek vicemene jen o if (mail odesel) {ok} else {chyba}
patri spise k clankum o podminkach a cyklech pro uplne zacatecniky. Nikoli k clankum o overovani chyb.