My goal was to ensure that defaults were loaded automatically at the earliest possible moment so that defaults were only loaded once and nobody had to worry about whether defaults had been initialized yet when writing unit tests, or what order classes were loaded.

Additionally I wanted to make sure that if there was a problem loading the defaults that the JVM would come tumbling down.

Is there a better way to go about this? A different unchecked exception I should use?

Although thinking about it autodiscovering the default property files runs counter to that logic.. hrmm..