Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
← ΜαθήματαSenior Deep-DivesModule 1 · Concurrency internals · RecapΜοτίβα ακύρωσης σε asynciopredict25 / 161
+125 XP
Εργασία🌐 shown in EN
📝 **Question:** Predict the exact output. \`worker\` prints \`start\`, then awaits a long sleep. Main cancels the task. Trace: which prints fire, in what order? 📋 Pick the right answer. 💡 **Hint:** Re-read the theory above if unsure.
Πρόβλεψε έξοδο

Διάβασε τον κώδικα προσεκτικά

import asyncio


async def worker():
    try:
        print("start")
        await asyncio.sleep(10)
        print("never")
    except asyncio.CancelledError:
        print("cleanup")
        raise


async def main():
    t = asyncio.create_task(worker())
    await asyncio.sleep(0)
    t.cancel()
    try:
        await t
    except asyncio.CancelledError:
        print("caught")
    print("after")


asyncio.run(main())

Τι θα εμφανίσει το πρόγραμμα; Γράψε εδώ: