Výjimky mi fungují zcela bez problémů, žádné obfuskace v nich nevidím. Při propadu přes více úrovní musí být samozřejmě součástí rozhraní a v případě potřeby je nutné je konvertovat.
Ok, takze ked chytame vynimku na kazdej urovni abstrakcie, tak o co je to lepsie od vracania rovno chyby + navratovej hodnoty? Tym myslim pristup ako v Go, kde sa normalne vracia dvojica (hodnota, error).
Ked nechytame vynimky na kazdej urovni, tak nastava ten chaos, ze zavolam stiahnutie stranky a vyleti na mna UnknownCharacterException a musim ist az do najnizsej urovne, aby som zistil, ze niekto pridal overovanie platnosti Unicode znakov.
Nevidím důvod, proč bych se měl starat o to, jakou hodnotu mi funkce vrací. Je to součástí její kompetence, která je řádně podchycena v testech. Při běhu ji tedy kontrolovat nemusím.
Podchytenie v testoch funguje len bez cudzieho kodu a len bez chyb a zabudania. Urcite mate testy cudzej kniznice, ktore overuju aj vsetky vynimky, ktore vracia? Kde je istota, ze tam nikto neprida dalsiu "internu" vynimku, ktora vybuble von?
Ked sa bude funkcia bez exception pri nejakych vstupoch mylit, tak sa to da stale izolovat a dobre debugovat. Ked bude vyhadzovat exception a niekto tu exception raz nechyti, tak to bude bublat az niekam vysoko, tam to niekto nahodou chyti a z divnych dovodov sa nebude vykonavat cast kodu. A ten co to chytil nema sancu poznat, ze tu vynimku hodil niekto hlbsie v hierarchii ako sa cakalo a jeho reakcia bude v principe nezmyselna.