【发布时间】:2017-11-13 03:49:47
【问题描述】:
我目前正在使用 for 循环使用 Googleway 包对大量地址进行地理编码。最初,我遇到了“500 个内部服务器错误”停止执行循环的问题。我能够使用 tryCatch() 解决这个问题。但是,由于这往往是一个暂时性错误,我希望该函数重复引发错误的地址,直到它收到结果或达到任意次数的尝试,比如 10 次。
不幸的是,我发现 tryCatch() 和与之相关的文档令人困惑,所以除了让它抛出错误消息并继续前进之外,我不知道如何做任何事情。这是我当前的代码:
rugeocoder.fun <- function(addr){
require(googleway)
output <- vector("list", length=length(addr))
tryCatch({
for(i in 1:length(addr)){
output[[i]] <- google_geocode(address=addr[i], key="myapikey", language="ru", simplify=T)
print(i)
}},error=function(e) output[[i]] <- "Error: reattempt")
return(output)
}
【问题讨论】:
标签: r loops error-handling try-catch