A similar problem used to exist with asyncio.TimeoutError: Issue 21376. There is no class called concurrent.future.Error, so I would remove that bit. Otherwise, the rest of the patch looks worthwhile. With asyncio and multiprocessing, the exception name is spelt out in full, including the module prefix. Maybe it could also be done here to be less ambiguous. When reading it with an ordinary web browser, you don’t get to see the target of the hyperlinks. On the other hand, a full “concurrent.futures.TimeoutError” is rather long and unwieldy. I’m not sure.
Thanks for the report and the patch. I have fixed that in 3.5 and 3.6 docs. I found it reasonable to include the full module path for TimeoutError makeing it consist with asyncio and multiprocessing TimeoutError. Also, Error exception is not exposed via __all__ so, left this out in the documentation.