Je to vyresene tak, ze cely "novy" blok try, tj. blok s deklaracni casti, muze vyhodit az _n_+1 vyjimek, kde _n_ je pocet objektu vytvarenych v deklaracni casti bloku try, tj. za kulatymi zavorkami (a nic jineho v teto casti bloku byt nesmi).
Presneji - jednu vyjimku muze vyhodit telo bloku try, coz je logicke a dalsich _n_ vyjimek muze vyhodit metoda close() - ta mimochodem je definovana tak, ze vyhazuje vyjimku typu Exception ne IOException, to jsem zapomel v clanku zminit.
Seznam vyhozenych vyjimek se v catch() da zjistit pomoci getSuppressedExceptions() a navic se printStackTrace() chova ponekud jinak - vypise vsechny vyhozene vyjimky s prefixem suppressed. Je to v clanku uvedeno, prozatim bez vetsiho komentare, protoze se mozna jeste bude format menit.