Met*_*elf 5 google-apps-script
如何处理urlfetch错误?我正在尝试muteHttpExceptions: true,但是它不起作用并且脚本中断。
function myFunction() {
var result = UrlFetchApp.fetch("http://www.soccer-wallpapers.net/soccer_wallpaper/barcelona_fc_barcelona_360.jpg ", {
muteHttpExceptions: true });
Logger.log("code: " + result.getResponseCode());
Logger.log("text: " + result.getContentText());
}
Run Code Online (Sandbox Code Playgroud)
但我正在尝试另一个错误网址,以便正常工作。
http://img8.uploadhouse.com/fileuploads/2058/20586362b34151eb10a4001e1c44305fe41bff6.jpg
Run Code Online (Sandbox Code Playgroud)
使用try and catch方法解决了句柄。
try
{
var page = UrlFetchApp.fetch("http://www.soccer-wallpapers.net/soccer_wallpaper/barcelona_fc_barcelona_360.jpg");
}
catch(err)
{
Browser.msgBox("error");
}
}
Run Code Online (Sandbox Code Playgroud)
小智 4
这似乎按设计工作。就是muteHttpExeptions为了这样做。如果脚本收到 HTTP 错误状态,它会告诉脚本正常执行。在您的第一个示例代码中,错误不是 HTTP 错误。没有 Web 服务器可以返回任何类型的 HTTP 代码。该网址不存在。访问互联网的服务无法继续,并且没有 HTTP 异常。
当我访问http://www.soccer-wallpapers.net/soccer_wallpaper/barcelona_fc_barcelona_360.jpg时,我收到一条超时消息。没有什么可以回应我的请求。Football-wallpapers.net 似乎不再响应请求。它确实有一个 DNS 条目,但不响应来自我所在位置的 ping。
如果您必须处理错误的 URL、可能出现的服务器故障和其他服务器错误,那么您将需要使用块try{}catch(){}。如何处理这些错误取决于您。该muteHttpExceptions标志更多地用于将 HTTP 错误作为应用程序的一部分进行处理,而不是在脚本级别抛出错误。
| 归档时间: |
|
| 查看次数: |
7796 次 |
| 最近记录: |