const fooError = new Error("foo"); const registry = new FinalizationRegistry(() => { throw fooError; }); window.addEventListener("error", event => { console.assert(event.error == fooError); // => fails });
False alarm: I was testing via file:/// protocol. This is covered by https://wpt.fyi/results/js/builtins/weakrefs/finalizationregistry-cleanupCallback-throws-onerror-interaction.optional.window.html