R、 tryCatch错误

R、 tryCatch错误,r,try-catch,R,Try Catch,我正在解析很多网站,我编写了一个脚本,从一个单独的文件中循环通过数千个链接。但是,我经历过,有时R不能加载一个链接,它在循环中间停止,留下许多其他URL未解析。所以我尝试使用tryCatch,所以脚本忽略了这种情况,并继续解析下一个URL。然而,我最近经历了tryCatch生成以下错误 gethelp.url = 'http://forums.autodesk.com/t5/Vault-General/bd-p/101' gethelp.df =tryCatch(htmlTreeParse(ge

我正在解析很多网站,我编写了一个脚本,从一个单独的文件中循环通过数千个链接。但是,我经历过,有时R不能加载一个链接,它在循环中间停止,留下许多其他URL未解析。所以我尝试使用tryCatch,所以脚本忽略了这种情况,并继续解析下一个URL。然而,我最近经历了tryCatch生成以下错误

gethelp.url = 'http://forums.autodesk.com/t5/Vault-General/bd-p/101'
gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function() next) 

Error in value[[3L]](cond) : unused argument (cond)
Calls: withRestarts ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
gethelp.url='1〕http://forums.autodesk.com/t5/Vault-General/bd-p/101'
gethelp.df=tryCatch(htmlTreeParse(gethelp.url,useInternalNodes=T),error=function()下一步)
值[[3L]]中的错误(cond):未使用的参数(cond)
呼叫:withRestarts。。。tryCatch->tryCatchList->tryCatchOne->
停止执行
令人困惑的是,有时它工作得很好,有时它抛出这个错误消息,即使相同的脚本解析相同的URL


有谁能给我一个如何解释这个错误消息的指导吗?我阅读了文档,但找不到太多的见解。

我认为您的函数必须有
cond
作为参数–至少我过去是这样使用
tryCatch()
,您的错误消息似乎表明这是问题所在

请尝试以下操作:
gethelp.df=tryCatch(htmlTreeParse(gethelp.url,useInternalNodes=T),error=function(cond)next)

请注意,上面的一行仍然会抛出一个错误,b/c示例代码不在循环中。因此,我只是将
next
替换为
NA
,效果很好

编辑:针对OP的评论,我建议尝试以下方法:

gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function(cond)"skip")
if(gethelp.df=="skip"){next}

非常感谢你!!顺便说一下,即使它在循环中,“下一步”似乎不起作用。我不知道为什么。。您是否同时使用了tryCatch和next?您可以尝试将
next
替换为
“skip”
,然后执行
if(gethelp.df==“skip”){next}
。有道理?因为它可能正试图将
next
分配给
gethelp.df
。。。因此,不要这样做,只需为gethelp.df分配一个关键字(“跳过”),然后在
if()
语句中测试关键字,如果它是真的,则使用
下一步。。非常感谢你!!