v8/test/mjsunit/harmony/async-generators-throw-caught.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
578 B
JavaScript
Raw Normal View History

// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
let caught_in_gen = false;
async function* catch_gen() {
try {
yield 42;
} catch (e) {
caught_in_gen = true;
}
}
(async () => {
const g = catch_gen();
await g.next();
try {
await g.throw(new Error()); // Should be caught in catch_gen, then catch_gen
// completes normally.
} catch (e) {
assertUnreachable();
}
assertTrue(caught_in_gen);
})();