People are confused by async {throw}

I’ve noticed lots of people (including myself) being surprised that async {throw Exception(...)} job fails and cancels the parent (non-supervisor) job, even though the Deferred<> result also transmits the exception to the consumer.

It’s too late to change the default behaviour, but it would maybe be a good idea to add a common safe async function to the standard library.

I think: Yes, it is.

2 Likes