errors: assign error code to bootstrap_node created error
This does not use the internal/errors.js module because the error in question may actually be *caused* by an attempt to load internal/errors.js. This error should only be encountered in the case of a bug within Node.js itself. PR-URL: https://github.com/nodejs/node/pull/11298 Ref: https://github.com/nodejs/node/issues/11273 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
parent
37699070cc
commit
251e5ed8ee
@ -558,6 +558,7 @@ found [here][online].
|
||||
encountered by [`http`][] or [`net`][] -- often a sign that a `socket.end()`
|
||||
was not properly called.
|
||||
|
||||
|
||||
<a id="nodejs-error-codes"></a>
|
||||
## Node.js Error Codes
|
||||
|
||||
@ -587,6 +588,14 @@ An error using the `'ERR_STDOUT_CLOSE'` code is thrown specifically when an
|
||||
attempt is made to close the `process.stdout` stream. By design, Node.js does
|
||||
not allow `stdout` or `stderr` Streams to be closed by user code.
|
||||
|
||||
<a id="ERR_UNKNOWN_BUILTIN_MODULE"></a>
|
||||
### ERR_UNKNOWN_BUILTIN_MODULE
|
||||
|
||||
The `'ERR_UNKNOWN_BUILTIN_MODULE'` error code is used to identify a specific
|
||||
kind of internal Node.js error that should not typically be triggered by user
|
||||
code. Instances of this error point to an internal bug within the Node.js
|
||||
binary itself.
|
||||
|
||||
<a id="ERR_UNKNOWN_STDIN_TYPE"></a>
|
||||
### ERR_UNKNOWN_STDIN_TYPE
|
||||
|
||||
@ -605,6 +614,7 @@ an attempt is made to launch a Node.js process with an unknown `stdout` or
|
||||
in user code, although it is not impossible. Occurrences of this error are most
|
||||
likely an indication of a bug within Node.js itself.
|
||||
|
||||
|
||||
[`fs.readdir`]: fs.html#fs_fs_readdir_path_options_callback
|
||||
[`fs.readFileSync`]: fs.html#fs_fs_readfilesync_file_options
|
||||
[`fs.unlink`]: fs.html#fs_fs_unlink_path_callback
|
||||
|
8
lib/internal/bootstrap_node.js
vendored
8
lib/internal/bootstrap_node.js
vendored
@ -462,7 +462,13 @@
|
||||
}
|
||||
|
||||
if (!NativeModule.exists(id)) {
|
||||
throw new Error(`No such native module ${id}`);
|
||||
// Model the error off the internal/errors.js model, but
|
||||
// do not use that module given that it could actually be
|
||||
// the one causing the error if there's a bug in Node.js
|
||||
const err = new Error(`No such built-in module: ${id}`);
|
||||
err.code = 'ERR_UNKNOWN_BUILTIN_MODULE';
|
||||
err.name = 'Error [ERR_UNKNOWN_BUILTIN_MODULE]';
|
||||
throw err;
|
||||
}
|
||||
|
||||
process.moduleLoadList.push(`NativeModule ${id}`);
|
||||
|
@ -86,6 +86,7 @@ E('ERR_STDERR_CLOSE', 'process.stderr cannot be closed');
|
||||
E('ERR_STDOUT_CLOSE', 'process.stdout cannot be closed');
|
||||
E('ERR_UNKNOWN_STDIN_TYPE', 'Unknown stdin file type');
|
||||
E('ERR_UNKNOWN_STREAM_TYPE', 'Unknown stream file type');
|
||||
E('ERR_UNKNOWN_BUILTIN_MODULE', (id) => `No such built-in module: ${id}`);
|
||||
// Add new errors from here...
|
||||
|
||||
function invalidArgType(name, expected, actual) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user