This might be confusing for developers. In debug mode you'll throw an exception, but in normal operations you'll return null? That's a recipe for NPE's in the client code. They'll never get them during development, so they might pop-up all of a sudden in production.

I would just put a log statement and return null in both normal and debug mode.