Don't use exceptions for flow control

Instead of using exceptions on a cache miss, return nil. We saw
significant performance increases by doing this.