From c64ca56def8651c2ad679bcdf1283fa7560e88f3 Mon Sep 17 00:00:00 2001 From: Weijia Wang <381152119@qq.com> Date: Tue, 12 Dec 2017 09:27:35 +0800 Subject: util: improve error message of _errnoException The usage of ERR_INVALID_ARG_TYPE in _errnoException is a little inappropriate. This change is to improve it. PR-URL: https://github.com/nodejs/node/pull/17626 Reviewed-By: Ruben Bridgewater Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: Evan Lucas Reviewed-By: Gireesh Punathil Reviewed-By: Luigi Pinca Reviewed-By: Joyee Cheung Reviewed-By: James M Snell --- lib/util.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/util.js b/lib/util.js index f9c33a759f..e0cdc2c28f 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1056,9 +1056,12 @@ function error(...args) { } function _errnoException(err, syscall, original) { - if (typeof err !== 'number' || err >= 0 || !Number.isSafeInteger(err)) { - throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'err', - 'negative number'); + if (typeof err !== 'number') { + throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'err', 'number', err); + } + if (err >= 0 || !Number.isSafeInteger(err)) { + throw new errors.RangeError('ERR_OUT_OF_RANGE', 'err', + 'a negative integer', err); } const name = errname(err); var message = `${syscall} ${name}`; -- cgit v1.2.3