An async function wraps a risky async call inside a try/except block. But when the call fails, the except block never runs, and Python warns about a coroutine that was never awaited.
Calling an async function without 'await' does NOT run it — it just creates a coroutine object that sits there unexecuted. The exception inside it never actually gets raised, so try/except has nothing to catch, and Python prints a 'coroutine was never awaited' warning.