Never return an Error, always throw it, Errors are meant to halt execution.