3826
Vývoj / Re:výjimky
« kdy: 22. 08. 2017, 11:00:57 »Nojo, ale když ty chybové stavy řeším pak někde o kus dál všechny na jedné hromadě, oddělené od kontextu jejich vzniku, to má být přehledné a pochopitelné?Tohle ale není moc dobrý příklad použití výjimek. Když použijete výjimky správně, budete výjimku pořád ošetřovat v místě jejího vzniku, kde znáte kontext, a pokud se nepodaří ji na daném místě vyřešit, pošlete dál nějakou obecnější výjimku.
Tím „nezaprasením kódu lokálním ošetřování chybových stavů“ se nemyslí to, že se v celé aplikaci nebudete o výjimky zajímat a ošetříte je všechny najednou někde v main. Tím se myslí to, že nemusíte kontrolovat chybový stav po provedení každé jednotlivé funkce a nemusíte na to reagovat pořád dokola tím stejným kódem.
Třeba když chcete otevřít soubor, něco z něj přečíst a soubor zavřít – může dojít ke spoustě výjimečných situací, např. může být soubor v každém kroku nedostupný (např. root odmountuje zařízení, na kterém soubor leží). Nevidím žádnou výhodu v tom ošetřovat tenhle stav znovu po každém z těch třech kroků, protože nezáleží na tom, ve kterém kroku k té chybě došlo, reakce bude pořád stejná.
Jiný nápad? Dík