posted 16 years ago
Look at it this way: Your implementing class IS-AN I2, in which the method is declared to throw a FileNotFoundException. So to fulfill the contract with I2, the following must work:
If your method implementation throws an IOException, this will not work.
On the other hand, if your method implementation throws a FileNotFoundException, then your class satisfies both contracts, because it can be treated as either an I1 or an I2.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org