Yeah but they're raised in the same branch, so the except block doesn't catch them. 

> On 4 Oct 2013, at 14:27, Andrey Petrov <notifications@github.com> wrote:
> 
> In urllib3/connectionpool.py:
> 
> > @@ -577,7 +578,7 @@ def urlopen(self, method, url, body=None, headers=None, retries=3,
> >              # Name mismatch
> >              raise SSLError(e)
> >  
> > -        except (HTTPException, SocketError) as e:
> > +        except (HTTPException, SocketError, TimeoutError) as e:
> The other relevant TimeoutErrors should inherit from TimeoutError, so it should work as-is, right?
> 
> With the exception of TimeoutStateError which inherits from HTTPError, but that shouldn't be retried anyways (it only gets raised when something in the code is broken, such as incorrectly mangling the Timeout object's internal state).
> 
> —
> Reply to this email directly or view it on GitHub.