Equivalent of a suspendable runCatching but able to throw CancellationException to cancel parent jobs.