Please *never* throw an exception without a message explaining why you throw it