So you're cancelling a coroutine that is waiting, ...
# coroutines
d
So you're cancelling a coroutine that is waiting, and thus expecting no error to be logged when the exception is thrown
k
i'm expecting
async
to capture the exception for propagation to an
await()
, as it does in most other cases
b
It doesn't propogate. The launch is what was cancelled. So when the launch resumed from suspension, its job saw it was cancelled (ignoring the state of the async) and throws the JobCancellationException. The async should resume because it's in the global supervisor scope
k
sure, i expect the JobCancellationException
d
I think
async
was indeed changed to also cancel the parent immediately upon failure, for consistency among coroutine builders.
So I'm guessing the supervisor is printing it to console when that occurs