In this case I'd use `ArgumentError`, but probably when setting it, not when producing. `to_s` should always be safe, reject invalid inputs earlier.