node.js - 如何处理 node.js 请求中的 URI 错误?

标签 node.js error-handling node-request

尝试简单地下载带有请求的文件。 https://www.npmjs.com/package/request

它工作得很好,但如果 url 无效,脚本会崩溃并出现错误:Invalid URI "notagoodurl"

如何处理此错误并记录某些内容并防止整个脚本因此错误而结束?我认为这就是 on('error') 会做的。

//download file
request
  .get(url)
  .on('error', function(err) {
    return err;
  })
  .pipe(
    fs.createWriteStream(destination)
      .on('close', function() {
        message.channel.send(filename + ' added.');
      })
  );

最佳答案

如果您需要解决 fatal error ,请将调用包装到 catch :

try {
  //download file
  request
    .get(url)
    .on('error', function(err) {
      console.log('Not a fatal error:', err);
    })
    .pipe(
      fs.createWriteStream(destination)
        .on('close', function() {
          message.channel.send(filename + ' added.');
        })
    );
} catch (err) {
  console.log('Fatal error:', err);
}

关于node.js - 如何处理 node.js 请求中的 URI 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49786532/

相关文章:

node.js - 配置对 Google 我的商家 API 的请求以避免未经身份验证的错误

node.js - 在 NodeJS 中下载后立即使用 request 和 gm 模块调整图像大小

node.js - 为什么在 DefinitelyTyped `http.IncomingMessage` 中定义为接口(interface),而不是类?

node.js - 如何在node js的js页面创建两个类?

tsql - SQL Server-在使用返回码指示存储过程中的状态时,如何向作业调度程序发出故障信号?

error-handling - 故意不通过yacc规则

javascript - 异步/等待正确的错误处理

node.js - 如何优化 mongodb 中具有 1M 条记录的 upsert 批量查询

c# - 访问冲突错误崩溃程序(0xc0000005)

php - 使用 Node 的 request-promise 将数据 POST 到 JSON REST API