Autor Zpráva
Keilew
Profil
Jak již název napovídá, jde mi o to, jak optimálně navrhovat systém generování a zpracovávání výjimek. Teoreticky je vhodné chytat výjimku co nejdřív, ale pak jsou tu různé balíčky, ze kterých se skládá projekt a ty balíčky nemohou vědět, jak projekt hodlá naložit s jejich výjimkama (kam logovat, vypisovat apod.) Takže předpokládám, že je nejlepší umístit try-catch blok kolem volání metody z balíčku a chytat specifickou výjimku, která je součástí balíčku (třeba MysqlException).
Jenže pak může nastat situace, že volání metod balíčku je tak časté na různých místech (v různých metodách jiné třídy), že je kód prošpikovaný bloky try-catch, což se mi nezdá jako úplně nejlepší řešení. V Javě se dá delegovat výjimka výš pomocí throws, PHP to dělá samo. Takže se logicky nabízí řešení chytat výjimky výš a výš, v extrému třeba až jedním jediným blokem v controlleru (u MVC).

Je tento způsob uvažování v pořádku? Asi ne, ale kam až je v pořádku?:-)
Mastodont
Profil
Tak tento problém zrovna řeším taky. IMHO záleží na tom, co ta výjimka má signalizovat. U skutečně fatálních chyb (scházející soubor apod.) ji chytám až v centrálním handleru. Pokud signalizuje ne-fatální chybu (ale to by neměla ...), tak tam asi nějaký universální návod nebude.
joe
Profil
Myslím, že to záleží na tobě :-)
Keilew
Profil
Mastodont
U skutečně fatálních chyb (scházející soubor apod.) ji chytám až v centrálním handleru
Nějak tak to nakonec vykrystalizovalo i u mne.

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: