2013-01-20 145 views
2

我注意到node.io没有抛出任何与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是否抑制错误消息,因为没有错误消息很难调试。任何解决方案

回答

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 
     } 
    } 
}); 

Full Answer