This looks like a case of using an exception for a situation that isn't all that exceptional...that might well happen in normal operation of the program. I consider that an anti-pattern: among other problems, it is very frustrating when the debugger is set to stop for all exceptions. (We do this quite a lot, but I'm trying to resist making it worse.)