Ouch. Any possible exception that might be thrown by you needs to be listed in your interface, because it's a possible "return value". In addition, you also need to list every single interface that you use, because your caller might need to look up their interfaces to see which exceptions they might throw.
in reply to Re^4: Neither system testing nor user acceptance testing is the repeat of unit testing (OT)
in thread Neither system testing nor user acceptance testing is the repeat of unit testing (OT)
To recap, exceptions most definitely are part of the interface spec.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?