No reason to prefix these with ArgumentError, they're already subclasses. Let's just call them: InvalidValue, InvalidFormat and InvalidAmount.