Consider this:
That is what that quote says you can't do.
The overriding method must declare to throw the original exception (as declared in the overriden method: SubException in the example), an exception that is derived from it, or no exception at all. My example is wrong because it declares to throw Exception, which is a base class to SubException.
This rule is necessary because of
polymorphism. Somebody might be calling the method in the subclass (MyDerived) through a base class reference (MyBase). They will only be aware of whatever is declared to be thrown in the base version of the method. So code like this:
would be unaware of any thrown Exception that is not SubException or derived!