added first_error for asyncio task groups
This commit is contained in:
1 parent
b6cd692258
commit
99e68b1fa9
1 file changed
+6
-1
@@ -556,7 +556,12 @@ async def retry_failed_pages(
|
|||||||
|
|
||||||
|
|
||||||
def first_error(group_exc: BaseExceptionGroup) -> BaseException:
|
def first_error(group_exc: BaseExceptionGroup) -> BaseException:
|
||||||
"""Return the first leaf exception of a possibly nested exception group."""
|
"""Return a leaf exception of a possibly nested group, preferring an
|
||||||
|
unexpected one so a real bug is never masked by a routine network error."""
|
||||||
|
_, unexpected = group_exc.split(EXPECTED_TASK_ERRORS)
|
||||||
|
if unexpected is not None:
|
||||||
|
group_exc = unexpected
|
||||||
|
|
||||||
error = group_exc.exceptions[0]
|
error = group_exc.exceptions[0]
|
||||||
while isinstance(error, BaseExceptionGroup):
|
while isinstance(error, BaseExceptionGroup):
|
||||||
error = error.exceptions[0]
|
error = error.exceptions[0]
|
||||||
|
|||||||
Reference in new issue
Block a user