Since item_iterator returns an empty iterator when an exception is encountered, there is no way to recover the HTTP error that was raised:

This behavior is confusing and makes code difficult to debug. I think in this case, item_iterator should just raise the exception that occurs.