<@U8G09M732>There are many effects here. You print...
# coroutines
e
@mcastiblancoThere are many effects here. You print “completed” to stdout while uncaught exceptions are printed to stderr. You can see them in any order as a result, even mixed (stdout can get interrelated inside the stack-trace on your console). However, uncaught exceptions do, infact, are handled after the coroutine completes. The internal ordering is this: 1. Coroutine completes with exception, it becomes completed as all the waiters are notified. You
main
coroutine that is waiting via
join()
is going to wake up. 2. After that, if coroutine had completed with exception,
launch
invokes
CoroutineExceptionHandler
(without would, by default, print it on the console)