2

我注意到与 nodejs 相比,node.io 没有抛出任何错误,如果有错字的话。不知道为什么。例如:

运行此脚本包含带有节点的“Util2”错字。

var Util = require('./lib/util.js');

console.log(Util2.parseFloat('$123.00'));

将抛出以下错误:

console.log(Util2.parseFloat('$123.00'));
        ^
ReferenceError: Util2 is not defined.

但是,使用具有完全相同错字的 node.io 运行此脚本不会引发任何错误。

var nodeio = require('node.io');
var Util = require('./lib/util.js');

exports.job = new nodeio.Job({
    input: false,
    run: function () {
        console.log(Util2.parseFloat('$123.00'));
    }
});

不确定 node.io 是否抑制错误消息,因为没有错误消息很难调试。有什么解决办法吗?

4

1 回答 1

1

感谢 node.io chriso 花时间回答这个问题。这是解决方案:

语法错误确实应该被过滤掉,但现在你有两个选择

exports.job = new nodeio.Job({
    input: false,
    run: function () {
        console.log(Util2.parseFloat('$123.00'));
    }
  , fail: function (input, err) {
        // handle error here
    }
}); 
or

exports.job = new nodeio.Job({
    input: false,
    run: function () {
        try {
            console.log(Util2.parseFloat('$123.00'));
        } catch (e) {
            //Handle the error here
        }
    }
});

完整答案

于 2013-01-24T03:53:49.890 回答