python_asyncio_course/3_awaitable_objects/task_3_4_11.py
2024-11-02 14:13:39 +03:00

33 lines
1.1 KiB
Python

import asyncio
from asyncio.exceptions import CancelledError
async def async_operation():
print("Начало асинхронной операции.")
try:
await asyncio.sleep(2)
print("Асинхронная операция успешно завершилась.")
except CancelledError:
print("Асинхронная операция была отменена в процессе выполнения.")
raise
async def main():
print("Главная корутина запущена.")
task = asyncio.create_task(async_operation())
await asyncio.sleep(0.1)
print("Попытка отмены Task.")
task.cancel()
try:
await task
print("Результат Task:", task.result())
except CancelledError:
print("Обработка исключения: Task был отменен.")
if task.cancelled():
print("Проверка: Task был отменен.")
else:
print("Проверка: Task не был отменен.")
print("Главная корутина завершена.")
asyncio.run(main())