我有以下javascript
(function() {
try {
var stdin = WScript.StdIn.ReadAll();
var json = eval('(' + stdin + ')');
var log = new Log(json.environment.actionLogFile);
log.commenced();
var inputFilePath=json.action.inputs[0].value;
log.info("inputFilePath : "+inputFilePath);
................
log.completed();
} catch (e) {
log.info("error");
}
})();
这在Microsoft JScript runtime error: 'undefined' is null or not an object
中给出了错误catch
。有什么建议为什么会这样?
答案 0 :(得分:0)
您尚未显示您提供的输入,但我猜您的代码会在var log = ...
行之前或之前发出错误,最有可能来自{{1}调用(如果无法评估输入)或eval
调用(如果它可以但不会导致具有new Log(json.environment.actionLogFile);
属性的对象,environment
由于某种原因抛出)。这意味着控件会转移到new Log
,catch
会尝试使用log
undefined
。