2
import asyncio
from aiohttp import Timeout


async def main():
    try:
        with Timeout(1) as t1:
            with Timeout(1) as t2:
                await asyncio.sleep(2)
    except asyncio.TimeoutError as exc:        

        # Which one of timers raised this `exc`?
        # Something like:

        # get_caller(exc) is t1 -> False
        # get_caller(exc) is t2 -> True

        pass


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

両方のタイマーのタイムアウトが同じであるため、どちらも を発生させることができTimeoutErrorます。誰がやったのか知りたいです。出来ますか?

4

1 に答える 1