tractor/examples/debugging/subactor_error.py

25 lines
562 B
Python
Raw Normal View History

2021-02-24 18:39:14 +00:00
import trio
2020-10-04 13:54:36 +00:00
import tractor
async def name_error():
getattr(doggypants) # noqa (on purpose)
2020-10-04 13:54:36 +00:00
async def main():
2021-02-24 18:39:14 +00:00
async with tractor.open_nursery(
debug_mode=True,
) as an:
2020-10-04 13:54:36 +00:00
# TODO: ideally the REPL arrives at this frame in the parent,
# ABOVE the @api_frame of `to_actor.run()` ..
# await tractor.pause()
# the one-shot blocks on the subactor's result so the
# boxed `NameError` raises right here.
await tractor.to_actor.run(name_error, an=an)
2020-10-04 13:54:36 +00:00
if __name__ == '__main__':
2021-02-24 18:39:14 +00:00
trio.run(main)