This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
It is actually an optional implementation that the implementers need to thrown InterruptedIOException when a time out occurs.
Since it is defined in the Spec, the choice a would be the most suitable one to select. But we can't be sure that "an InterruptedIOException will be thrown to the application upon connection transfer from the AMS to the application.". It depends on the implementer's choice.