Your client side always think to deal with the base version. That's the whole benefit of polymorphism => client side ignores the overriden one.
Thus, nothing will force the client to deal with specific rules made by the overriden, here the case of a potential exception thrown by the overidden method.
That's why an overriden method can't throw broader exceptions. It would break the contract.
Thus, regarding this logic, rule is: Overriden method CAN (if it want) only throw a subpart of the exceptions declared in the base version BUT CANNOT throw broader ones.