私は大きなXMLファイルを解析するためにnodejsのためにxml-streamライブラリを使用します。それはとてもうまくいく。 しかし、XMLストリームイベントのコールバックにRefereceErrorのような問題がある場合、nodejsは私に通知せずに終了するか、エラーをスローすることに注意してください。コールバックでのNodejのエラー処理(xml-stream)
短い例では、次のコードです:
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
イベントのハンドラを追加すること
こんにちは、ご協力いただきありがとうございます。しかし、残念ながら、これはうまくいきません。私はエラーのためにイベントリスナーを追加しました。しかし、その火災や通知しないでください。それはノード – Hansinger
Hmmmを終了するだけです。おそらくあなたはノードプロセスでキャッチされていない例外を聞くことができますか?たぶん問題はxml-streamにないかもしれません。 'process.on( 'uncaughtException'、function(例外){console.log(例外);});' –