Preconditions should always *assert* or throw an *Error*, not *Exception*.