Skip to content

Commit c9002a9

Browse files
committed
doc: correct description of error.stack accessor behavior
1 parent dcb9573 commit c9002a9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

doc/api/errors.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,13 +379,17 @@ The location information will be one of:
379379
represents a call in a user program (using ES module system), or
380380
its dependencies.
381381

382-
The string representing the stack trace is lazily generated when the
383-
`error.stack` property is **accessed**.
384-
385382
The number of frames captured by the stack trace is bounded by the smaller of
386383
`Error.stackTraceLimit` or the number of available frames on the current event
387384
loop tick.
388385

386+
`error.stack` is a getter/setter for a hidden internal property which is only
387+
present on builtin `Error` objects (those for which [`Error.isError`][] returns
388+
true). If `error` is not a builtin error object, then the `error.stack` getter
389+
will always return `undefined`, and the setter will do nothing. This can occur
390+
if `error` is an object that has had its prototype set to `Error.prototype`,
391+
but was not constructed by a builtin `Error` constructor.
392+
389393
## Class: `AssertionError`
390394

391395
* Extends: {errors.Error}
@@ -4381,6 +4385,7 @@ An error occurred trying to allocate memory. This should never happen.
43814385
[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: #err_missing_message_port_in_transfer_list
43824386
[`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`]: #err_missing_transferable_in_transfer_list
43834387
[`ERR_REQUIRE_ASYNC_MODULE`]: #err_require_async_module
4388+
[`Error.isError`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/isError
43844389
[`EventEmitter`]: events.md#class-eventemitter
43854390
[`MessagePort`]: worker_threads.md#class-messageport
43864391
[`Object.getPrototypeOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf

0 commit comments

Comments
 (0)