在 Google 脚本中尝试/捕获 HTTP 响应的最佳方法

2024-03-05

我对 JavaScript 和 Google apps 脚本还很陌生,这是我第一次尝试使用“Try/Catch”语句。

我正在运行连接到页面的脚本。它在大多数情况下都可以毫无问题地连接,但有时它不会响应并抛出 http 错误(或者,响应将为空)。我想尝试/捕获此响应,以便在收到错误代码时让它再次运行,但我不能 100% 确定我理解语法,因为无论我如何格式化它,它都不会抛出异常,或者总是抛出它。

这是我一直在尝试的一些示例代码:

function myFunction() {
  var response =  UrlFetchApp.fetch("google.com"); 
  Logger.log('Response Code: ' + response.getResponseCode());

try {if(response.getResponseCode() === 200);
} catch (err) {
    throw 'Page connected';
}
}

如果我能做到这一点,我相信我能弄清楚剩下的事情。然而,即使日志显示我收到了 200 的 HTTP 响应,它也不会抛出错误“页面已连接”。

如果有人可以指导我:

1)这是实现我想要的正确方法,还是 Try/Catch 是为了其他目的? 2)正确的语法。

我会很感激。


getResponseCode不抛出异常,但是fetch确实抛出异常,因此将其包含在您的try block:

function myFunction() {
  try {
    var response =  UrlFetchApp.fetch("google.com"); 
    Logger.log('Response Code: ' + response.getResponseCode());

    if(response.getResponseCode() === 200) {
      // something
    }
  } catch (err) {
      // handle the error here
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google 脚本中尝试/捕获 HTTP 响应的最佳方法 的相关文章