I've been reading the Java 8 OCP book by Sybex and I can't seem to understand why the third line doesn't compile.
public static void main(String[] args) {
List<? super IOException> exceptions = new ArrayList<Exception>();
exceptions.add(new Exception()); // DOES NOT COMPILE
exceptions.add(new IOException());
exceptions.add(new FileNotFoundException());
}