void () { try { new Callable() { @Override public Object call() throws IOException { throw new IOException(); } }; new Foo("") { @Override public Object call() throws IOException { throw new IOException(); } }; } catch (Exception e) { throw e; } }