From fe7049a36808b83af7a71714d93118b093523808 Mon Sep 17 00:00:00 2001 From: Robert Gadbois Date: Fri, 2 Jun 2017 13:10:54 -0700 Subject: [PATCH] fix throw in global context to instead emit event with the error --- main.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index b82becb..4ce81f1 100644 --- a/main.js +++ b/main.js @@ -70,7 +70,7 @@ var watchedFiles = Object.create(null); exports.watchTree = function ( root, options, callback ) { if (!callback) {callback = options; options = {}} walk(root, options, function (err, files) { - if (err) throw err; + if (err) return callback(err); var fileWatcher = function (f) { var fsOptions = {}; if (options.interval) { @@ -126,6 +126,10 @@ exports.createMonitor = function (root, options, cb) { var prevFile = {file: null,action: null,stat: null}; exports.watchTree(root, options, function (f, curr, prev) { + + if (typeof f == "object" && f.constructor.name === "Error") { + return monitor.emit("error", f); + } // if not curr, prev, but f is an object if (typeof f == "object" && prev == null && curr === null) { monitor.files = f;