diff --git a/doc/api/errors.md b/doc/api/errors.md index 5f451880f14332..c12100c19905cb 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -195,6 +195,8 @@ will either be instances of, or inherit from, the `Error` class. ### new Error(message) +* `message` {String} + Creates a new `Error` object and sets the `error.message` property to the provided text message. If an object is passed as `message`, the text message is generated by calling `message.toString()`. The `error.stack` property will @@ -205,6 +207,9 @@ given by the property `Error.stackTraceLimit`, whichever is smaller. ### Error.captureStackTrace(targetObject[, constructorOpt]) +* `targetObject` {Object} +* `constructorOpt` {Function} + Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. @@ -238,6 +243,8 @@ new MyError().stack ### Error.stackTraceLimit +* {Number} + The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). @@ -250,10 +257,13 @@ not capture any frames. #### error.message -Returns the string description of error as set by calling `new Error(message)`. +* {String} + +The `error.message` property is the string description of the error as set by calling `new Error(message)`. The `message` passed to the constructor will also appear in the first line of the stack trace of the `Error`, however changing this property after the -`Error` object is created *may not* change the first line of the stack trace. +`Error` object is created *may not* change the first line of the stack trace +(for example, when `error.stack` is read before this property is changed). ```js const err = new Error('The message'); @@ -263,8 +273,10 @@ console.log(err.message); #### error.stack -Returns a string describing the point in the code at which the `Error` was -instantiated. +* {String} + +The `error.stack` property is a string describing the point in the code at which +the `Error` was instantiated. For example: @@ -450,18 +462,47 @@ added properties. #### error.code -Returns a string representing the error code, which is always `E` followed by -a sequence of capital letters, and may be referenced in `man 2 intro`. +* {String} + +The `error.code` property is a string representing the error code, which is always +`E` followed by a sequence of capital letters. #### error.errno -Returns a number corresponding to the **negated** error code, which may be -referenced in `man 2 intro`. For example, an `ENOENT` error has an `errno` of -`-2` because the error code for `ENOENT` is `2`. +* {String | Number} + +The `error.errno` property is a number or a string. +The number is a **negative** value which corresponds to the error code defined in +[`libuv Error handling`]. See uv-errno.h header file (`deps/uv/include/uv-errno.h` in +the Node.js source tree) for details. +In case of a string, it is the same as `error.code`. #### error.syscall -Returns a string describing the [syscall][] that failed. +* {String} + +The `error.syscall` property is a string describing the [syscall][] that failed. + +#### error.path + +* {String} + +When present (e.g. in `fs` or `child_process`), the `error.path` property is a string +containing a relevant invalid pathname. + +#### error.address + +* {String} + +When present (e.g. in `net` or `dgram`), the `error.address` property is a string +describing the address to which the connection failed. + +#### error.port + +* {Number} + +When present (e.g. in `net` or `dgram`), the `error.port` property is a number representing +the connection's port that is not available. ### Common System Errors @@ -528,6 +569,7 @@ found [here][online]. [`fs`]: fs.html [`http`]: http.html [`https`]: https.html +[`libuv Error handling`]: http://docs.libuv.org/en/v1.x/errors.html [`net`]: net.html [`process.on('uncaughtException')`]: process.html#process_event_uncaughtexception [domains]: domain.html