This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
For readRecord(), updateRecord(), deleteRecord(), I rethrow IOException as RecordNotFoundException. I am not sure how to handle IOEception exceptions for createRecord(). It only throws DuplicateKeyException (which never occur given the specs). Swallowing the IOException is bad but rethrow it as DuplicateKeyException is not correct. Any idea?