It sounds like you are saying `__toString()` should never be used because an exception could be thrown anywhere. I don't agree with this. PHP's crappy error handling and exception implementation is orthogonal to adding convenience methods to this PSR. HTTP messages are text and thus I think they should have a text representation.

If a developer is worried about encountering an exception during this method then they can serialize the message as a string manually. I would not rely on the __toString() method in an HTTP client, but rather build up the appropriate request for the transport layer.