Hi Trish,
I agree with Mark that it is a tradeoff. There are three kinds of exceptions involved: RemoteExceptions, IOExceptions, and DatabaseExceptions.
I found that that there is a semantic distinction between IOException and DatabaseException, although this distinction is not always so clear. IOExceptions say that something is wrong with the file itself, whereas DatabaseExceptions say that something is wrong with the record.
According to the instructions, you are free to modify the method signatures, since you may modify the Data.class. But I think it's also part of the
test that you are show your ability to work with code that has been created by others (in this case some student), and that may have some flaws. This is why I did not change the signatures of the methods except adding RemoteExceptions.