gpt4 book ai didi

javascript - 回调中的Node.js错误处理(xml-stream)

转载 作者:行者123 更新时间:2023-12-03 08:51:48 27 4
gpt4 key购买 nike

我使用xml-stream库来处理nodejs来解析一个大的xml文件。效果很好。
但是我注意到,如果在xml流事件的回调中出现类似RefereceError的问题,nodejs只会退出而不通知我或抛出错误。

一个简短的示例是以下代码:

var fs = require('fs');
var XmlStream = require('xml-stream');

var stream = fs.createReadStream('E:/jdown2/dblp/dblp.xml');
var xml = new XmlStream(stream);


xml.on('endElement: article', function (data) {
console.log("article"); // works well
var demo = functionThatNotExists(data);
console.log("nodejs exit before this console log");
});

所以我的问题是,我怎么能到达它,那个nodejs告诉我有一个错误以及错误发生在哪里?

还是xml-stream不提供那个?

在像这样的普通回调函数中:
errorInCallback("test", function (err,data) {
console.log(err, data)
});

function errorInCallback(data, cb) {
var demo = functionThatNotExists(data);
var err = null;
return cb(err, demo)
}

所有的工作都像预期的那样,nodejs抛出ReferenceError

有人可以向我解释原因,也许如何解决吗?

提前致谢!

最佳答案

尝试为error事件添加处理程序:

xml.on('error', function (err) {
console.log(err);
});

关于javascript - 回调中的Node.js错误处理(xml-stream),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com