
Product
Introducing Socket MCP for Claude Desktop
Add secure dependency scanning to Claude Desktop with Socket MCP, a one-click extension that keeps your coding conversations safe from malicious packages.
set-error-message
Advanced tools
Properly update an error's message.
In V8 (Chrome, Node.js, Deno, etc.),
error.stack
includes
error.message
.
However, if error.message
is modified, error.stack
might not be updated and
still contain the previous message.
This library fixes it by setting error.message
while updating error.stack
accordingly. This works on any JavaScript engine.
Without set-error-message
:
const error = new Error('one')
console.log(error.message) // 'one'
console.log(error.stack) // 'Error: one ...'
error.message = 'two'
console.log(error.message) // 'two'
console.log(error.stack) // 'Error: one ...'
With set-error-message
:
import setErrorMessage from 'set-error-message'
const error = new Error('one')
console.log(error.message) // 'one'
console.log(error.stack) // 'Error: one ...'
setErrorMessage(error, 'two')
console.log(error.message) // 'two'
console.log(error.stack) // 'Error: two ...'
npm install set-error-message
This package is an ES module and must be loaded using
an import
or import()
statement,
not require()
.
error
Error | any
newMessage
string
currentMessage
string?
Return value: Error
Sets error.message = newMessage
.
Returns error
. If error
is not an Error
instance, it is converted to one.
If error.stack
contains currentMessage
, it is replaced by newMessage
.
currentMessage
is the error message currently included in error.stack
. It
defaults to error.message
, which is usually best.
modern-errors
: Handle errors
like it's 2022 🔮error-custom-classes
:
Create multiple error classeserror-custom-class
: Create
one error classerror-serializer
: Convert
errors to/from plain objectsnormalize-exception
:
Normalize exceptions/errorsmerge-error-cause
: Merge an
error with its cause
set-error-props
: Properly
update an error's propertieserror-cause-polyfill
:
Polyfill error.cause
handle-cli-error
: 💣 Error
handler for CLI applications 💥log-process-errors
: Show
some ❤ to Node.js process errorsFor any question, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!
FAQs
Properly update an error's message
The npm package set-error-message receives a total of 46,052 weekly downloads. As such, set-error-message popularity was classified as popular.
We found that set-error-message demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Add secure dependency scanning to Claude Desktop with Socket MCP, a one-click extension that keeps your coding conversations safe from malicious packages.
Product
Socket now supports Scala and Kotlin, bringing AI-powered threat detection to JVM projects with easy manifest generation and fast, accurate scans.
Application Security
/Security News
Socket CEO Feross Aboukhadijeh and a16z partner Joel de la Garza discuss vibe coding, AI-driven software development, and how the rise of LLMs, despite their risks, still points toward a more secure and innovative future.