Originally posted by Joanne Neal:
If you need to maintain backwards compatibility then any exceptions you add must be runtime exceptions i.e. extend RuntimeException class.
That would still break old code - programmer's are checking against a return value of false, not a RuntimeException.
I'd go for Amgad's advice.
Old situation:
New situation:
I think the trickiest thing is finding a name for the new method that still looks enough like the old one