Jump to content
php.lv forumi

Error handling pardomas...


Joyride

Recommended Posts

Liels paldies par komentariem! Tiesam, labak paradit smuku error page (bubu ieteikums), neka vienkarsi bezpersonisku error mesidzu. Un rikosos pec Delfina piemera, pievienosu vel vienu parametru, $throw, kas ari bus tas raditajs, vai kverijs ir vitali svarigs, ka mana piemera par sesiju, vai nee, piemeram, neizdevas atlasit datus users online blokam.

Jus te visu laiku pieminat exceptionus, es ar viniem nestradaju, jo tapat nevar nokert visu tipu kludas. Kas ir labak, izmest exception un attiecigi ar custom error handler (vai try-catch) apstradat, vai izveidot, teiksim funkciju Error(), kas, teiksim, logo/suta uz meilu kludu un redirekte uz smuku error lapu?

Esmu pieradis ar Delphi, tur var gan uzlikt globalu error handleri, gan ari ar try-except kert atseviskas kludas, bet PHP tas viss liekas cerez z*** realizets.

Link to comment
Share on other sites

bet ko dod f-jā izmest exceptionu, un tajā pašā viņu noķert un jebkuras kļūdas gadījumā f-ja tāpat atgriež false, ja grib/vajag tā, tad tur tiešām labāk izsaukt pliku f-ju eggog() un nepīt exceptionus iekšā.

kaut kāds labums no exceptioniem parādās, kad vietās kur ir kļūda tikai izmet exceptionu un aizmirsti, raksti tālāk to, kas notiek ja viss ir pareizi. kā visus exceptionus saķert domā kaut kur augstāk, kaut vai sāc lapu ar try beidz ar catch() pirms teimpleita parādīšanas.

 

īsti nesapratu kas domāts ar to ka nevar noķert visus - ķert var gan vienu specifsku, gan visus iepriekš nenoķertos - manuālis.

Link to comment
Share on other sites

Globālas lietas ir sliktas lietas - tās grūti izņemt ārā no viena projekta pārlikšanai uz citu. Tās arī grūtāk padodas testēšanai. Tāpēc manā skatījumā exceptioni is way to go!

Link to comment
Share on other sites

Dēļ viena sql nevajag krešot visu webu... jo iesp. tai pašā laikā 98% pārēja weba strādā korekti.
Iespējams, ka strādā, bet iespējams arī, ka nestrādā. Nav ko pašam sev smadzenes jāt un atsevišķi katrā vietā domāt, šeit mēs metam līdz galam nost vai laižam kļūdu gar ausi un strādājam tālāk. Ja reiz ir noticis tāds ārkārtas gadījums ( jo normālos apstākļos nekad kļūdām nevajadzētu būt ) un kaut kas ir aizgājis pa pieskari, tad die() un miers mājās. Savukārt, die() paramatrā padodam iepriekš sagatavotu HTMLu ar norādēm, ko tagad darīt, pa vidam iekļaujot konkrētās kļūdas messidžu; pārāk izskaistināt jau arī nevajag - tas galu galā ir kļūdas paziņojums, nevis bibliotēkas alfabētiskais rādītājs. Gadās kļūda - vienreiz kverija klasē ietvertais kļūdu apstrādes ( tb die ar messidžu ) mehānisms tiek ar visu galā, pēc tam ne par ko nav jāraizējas.
Link to comment
Share on other sites

×
×
  • Create New...