diff --git a/crates/cli-support/src/js/rust2js.rs b/crates/cli-support/src/js/rust2js.rs index c0d5b55e03d..50eb8d37dfb 100644 --- a/crates/cli-support/src/js/rust2js.rs +++ b/crates/cli-support/src/js/rust2js.rs @@ -716,13 +716,23 @@ impl<'a, 'b> Rust2Js<'a, 'b> { try {{\n\ {} }} catch (e) {{\n\ - console.error(\"wasm-bindgen: imported JS function that \ + let error = (function () {{ + try {{ + return e instanceof Error + ? `${{e.message}}\n\nStack:\n${{e.stack}}` + : e.toString(); + }} catch(_) {{ + return \"\"; + }} + }}()); + console.error(\"wasm-bindgen: imported JS function `{}` that \ was not marked as `catch` threw an error:\", \ - e); + error); throw e; }}\ ", &invoc, + shim, ); }