If the async process completes by throwing an error before suspending itself, `beginAsync` rethrows the error.
nonblock