class C <T extends Exception> {
    void foo () throws T {}
    void bar () {
        <error descr="Unhandled exception: T">foo</error> ();
    }

    <T extends Error> void goo() {
        try {
            int i = 12;
        } catch (<error descr="Cannot catch type parameters">T</error> ex) {
        }
    }
}

//IDEADEV-4169: no problem here
interface Blub {
    public <E extends Throwable> void Switch() throws E;
}

class Blib implements Blub {
    public <E extends Throwable> void Switch() throws E {
    }
}
