节点js:spawn进程捕获异常/错误

时间:2018-05-01 06:39:37

标签: javascript node.js exception-handling spawn

我正在尝试使用spawn进程运行c ++可执行文件。这是可执行文件的c ++代码:

#include<iostream>
#include<string>
using namespace std;

void divide(int num1, int num2) {
    // Complete this function
    cout << num1/num2;

}

int main(){
    int num1, num2;
    cin >> num1 >> num2;

    divide(num1, num2);

    return 0;
}

这是nodejs的代码

var bat = spawn(filePath);

bat.stdin.write("6\n");
bat.stdin.write("0\n");

bat.stdout.on('data', function (data) {
    console.log("Output: ", data.toString());
});
bat.stderr.on('data', function (data) {
    console.log("Error: ", data.toString());
});
bat.once('exit', function (code) {
    console.log('Child exited with code ' + code);
    return;
});

我无法使用此代码捕获“除零”异常。这段代码中缺少什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

而不是:

bat.once('exit', function (code) {

尝试:

bat.on('close', function (code) {