There are at least a half dozen semantically related checked exceptions thrown by methods in the core reflection classes, java.lang.Class and java.lang.reflect.*:
java.lang.NoSuchMethodException
java.lang.NoSuchFieldException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
Programming using reflection would be more convenient if there was a common superclass more specific than Exception so that all these conditions could be caught with one catch block.