diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-19 14:15:10 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-25 01:45:40 +0100 |
commit | 058e7fb8e66cafae700c5cb437d08572150fa69f (patch) | |
tree | da71c00ed80da4962617b616b9ef6546f60825b4 /lib | |
parent | 333adf61eb3d8d973b28e6c86d8b93d39d95cfe6 (diff) | |
download | android-node-v8-058e7fb8e66cafae700c5cb437d08572150fa69f.tar.gz android-node-v8-058e7fb8e66cafae700c5cb437d08572150fa69f.tar.bz2 android-node-v8-058e7fb8e66cafae700c5cb437d08572150fa69f.zip |
process: fix error handling
This makes sure the proper error is returned. Right now the error
is not specific enough.
PR-URL: https://github.com/nodejs/node/pull/19445
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/process.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/internal/process.js b/lib/internal/process.js index 375fb314cb..b735ba2e4b 100644 --- a/lib/internal/process.js +++ b/lib/internal/process.js @@ -7,6 +7,7 @@ const { ERR_CPU_USAGE, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARRAY_LENGTH, + ERR_INVALID_OPT_VALUE, ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET, ERR_UNKNOWN_SIGNAL } @@ -41,11 +42,24 @@ function setup_cpuUsage() { // If a previous value was passed in, ensure it has the correct shape. if (prevValue) { if (!previousValueIsValid(prevValue.user)) { - throw new ERR_INVALID_ARG_TYPE('preValue.user', 'number'); + if (typeof prevValue !== 'object') + throw new ERR_INVALID_ARG_TYPE('prevValue', 'object', prevValue); + + if (typeof prevValue.user !== 'number') { + throw new ERR_INVALID_ARG_TYPE('prevValue.user', + 'number', prevValue.user); + } + throw new ERR_INVALID_OPT_VALUE.RangeError('prevValue.user', + prevValue.user); } if (!previousValueIsValid(prevValue.system)) { - throw new ERR_INVALID_ARG_TYPE('preValue.system', 'number'); + if (typeof prevValue.system !== 'number') { + throw new ERR_INVALID_ARG_TYPE('prevValue.system', + 'number', prevValue.system); + } + throw new ERR_INVALID_OPT_VALUE.RangeError('prevValue.system', + prevValue.system); } } |