[33] Zdá se mi, že o výjimkách by to chtělo napsat nový článek. Takže telegraficky:
a) člověk, který ignoruje výjimku znamená, že mu jeho program bude nejspíš padat a generovat chybové hlášení
b) člověk, který ignoruje chybový návratový kod si koleduje o spoustu skrytých problémů, jako zacyklení, memory leak, resource leak, porušení dat, neočekávaný pád v jiném místě programu
Každý programátor může mít vlastní systém vyjímek, ale pokud je programátor myslící člověk, tak každá jeho výjimka buď přímo nebo nepřímo dědí std::exception. Tato výjimka má funkci what() a ta by měla vracet něco smysluplného. To je úplný základ. Pak ať si tam ten programátor postaví třeba celý strom výjimek. Ten, kdo nezná výjimkový systém toho programátora, má pořád šanci se minimálně z výjimky dozvědět, co se stalo a pomocí typeid se dozvědět i název třídy výjimky. V mém systému výjimek se navíc z what() člověk dozví i číslo řádku a jméno souboru, kde k výjimce došlo a soupis tzv "reasons", tj připojené další výjimky, jenž způsobily tuto výjimku. A to všechno prosím bez nutnosti znát můj výjimkový systém, bez potřeby handlovat nějaké IDčka chybových zpráv. No už je to moc dlouhý, takže začnu chystat podklady k blogpostu.
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 48 580×
Přečteno 22 616×
Přečteno 21 790×
Přečteno 18 182×
Přečteno 16 654×