Raised exceptions instead of exiting because derp.