summaryrefslogtreecommitdiff
path: root/lib/fs.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-03-18 03:47:55 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2019-03-23 02:55:55 +0100
commit3fe1e80896d69b2125e3a264d0707fdbc6f37740 (patch)
tree8e909c53a2cdf52650504f21467e9961d2aec6ef /lib/fs.js
parentbfbce289c33b12aafb82bd5b45bcb4412850b28f (diff)
downloadandroid-node-v8-3fe1e80896d69b2125e3a264d0707fdbc6f37740.tar.gz
android-node-v8-3fe1e80896d69b2125e3a264d0707fdbc6f37740.tar.bz2
android-node-v8-3fe1e80896d69b2125e3a264d0707fdbc6f37740.zip
lib: validate Error.captureStackTrace() calls
This adds a custom eslint rule to verify that `Error.captureStackTrace()` is only called if necessary. In most cases the helper function should be used instead. PR-URL: https://github.com/nodejs/node/pull/26738 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Diffstat (limited to 'lib/fs.js')
-rw-r--r--lib/fs.js2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/fs.js b/lib/fs.js
index 46dd447d3e..cfe856eaeb 100644
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -117,6 +117,7 @@ function showTruncateDeprecation() {
function handleErrorFromBinding(ctx) {
if (ctx.errno !== undefined) { // libuv error numbers
const err = uvException(ctx);
+ // eslint-disable-next-line no-restricted-syntax
Error.captureStackTrace(err, handleErrorFromBinding);
throw err;
}
@@ -124,6 +125,7 @@ function handleErrorFromBinding(ctx) {
// TODO(joyeecheung): currently, ctx.error are encoding errors
// usually caused by memory problems. We need to figure out proper error
// code(s) for this.
+ // eslint-disable-next-line no-restricted-syntax
Error.captureStackTrace(ctx.error, handleErrorFromBinding);
throw ctx.error;
}