Not all Fido timeout errors are caught
There are some twisted errors that occur with low request timeout (the timeout passed in _request_options). The ones i've seen are twisted.internet.error.DNSLookupError and twisted.internet.error.ConnectingCancelledError. These seem like more general errors, but I think they occur because of the fact that the request timeout cancels the twisted deferred.
Either way, if you set the request timeout low, you'll get these, which should be reraised.
The values that I needed to set for timeout to get these errors were:
0.001 (1ms) for twisted.internet.error.ConnectingCancelledError
and
0.0001 (0.1ms) for twisted.internet.error.DNSLookupError - Note: 0 also works
You may ask why anyone in their right mind would set these values so low, but can easily happen when programmatically setting the timeout.