Hlavní navigace

Názor ke článku Skrytá úskalí vícenásobné dědičnosti v C++ od Ondřej Novák - [33] Zdá se mi, že o výjimkách by...

  • 10. 5. 2012 13:51

    Ondřej Novák (neregistrovaný)

    [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.