async function failing() { throw new Error("bad"); } async function main() { try { await failing(); return "unreachable"; } catch (e) { return e.message; } } var r = null; main().then(v => { r = v; }); __drain(); r