HDC*_*rus 6 javascript try-catch google-apps-script
我还是 JavaScript 和 Google 应用程序脚本的新手,这是我第一次尝试使用“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';
}
}
Run Code Online (Sandbox Code Playgroud)
如果我能让这个工作,我相信我可以弄清楚其余的。但是,即使日志显示我收到了 200 的 HTTP 响应,它也永远不会抛出错误“页面已连接”。
如果有人可以指导我:
1)这是实现我想要的正确方法,还是尝试/捕获其他东西?2)正确的语法。
我会很感激。
getResponseCode不会抛出异常但fetch会抛出异常,因此将其包含在您的try块中:
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
}
}
Run Code Online (Sandbox Code Playgroud)
截至今天,可以将muteHttpExceptions参数放入optionsof UrlFetchApp.fetch(url, options)。它使 HTTP 异常静音。
有了这个,就不需要try catch- 只需检查响应代码是否正常。
| 归档时间: |
|
| 查看次数: |
10704 次 |
| 最近记录: |