I think throwing this out will still kill the startup process.  I'd recommend that we accumulate these up (or just store one exception) keep trying to load up the rest of the segments and then fail after the for loop if there is an exception stored.  That way the exception doesn't stop the other things from loading.

We should also have a try/catch around the initial loading of the cache