diff --git a/hardhat/async-test-sanity.js b/hardhat/async-test-sanity.js index c05e5bd48..8e60f70d5 100644 --- a/hardhat/async-test-sanity.js +++ b/hardhat/async-test-sanity.js @@ -1,3 +1,10 @@ process.on('unhandledRejection', reason => { - throw new Error(reason); + // If the reason is already an Error object, throw it directly to preserve the stack trace. + if (reason instanceof Error) { + throw reason; + } else { + // If the reason is not an Error (e.g., a string, number, or other primitive), + // create a new Error object with the reason as its message. + throw new Error(`Unhandled rejection: ${reason}`); + } });