相关疑难解决方法(0)

Node.js捕获spawn后抛出的ENOMEM错误

由于在使用spawn时抛出了ENOMEM(内存不足)错误,我的Node.js脚本崩溃了.

错误:

child_process.js:935
  throw errnoException(process._errno, 'spawn');
        ^

Error: spawn ENOMEM
  at errnoException (child_process.js:988:11)
  at ChildProcess.spawn (child_process.js:935:11)
  at Object.exports.spawn (child_process.js:723:9)
  at module.exports ([...]/node_modules/zbarimg/index.js:19:23)
Run Code Online (Sandbox Code Playgroud)

我已经在errorexit事件中使用了侦听器,但是如果出现此错误,则不会触发它们.

我的代码:

zbarimg = process.spawn('zbarimg', [photo, '-q']);
zbarimg.on('error', function(err) { ... });
zbarimg.on('close', function(code) { ... }); 
Run Code Online (Sandbox Code Playgroud)

完整源代码可用.

有什么办法可以防止脚本崩溃吗?如何捕获抛出的ENOMEM错误?

谢谢!

javascript error-handling try-catch spawn node.js

70
推荐指数
3
解决办法
4万
查看次数

标签 统计

error-handling ×1

javascript ×1

node.js ×1

spawn ×1

try-catch ×1