R、 tryCatch错误
我正在解析很多网站,我编写了一个脚本,从一个单独的文件中循环通过数千个链接。但是,我经历过,有时R不能加载一个链接,它在循环中间停止,留下许多其他URL未解析。所以我尝试使用tryCatch,所以脚本忽略了这种情况,并继续解析下一个URL。然而,我最近经历了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
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()
语句中测试关键字,如果它是真的,则使用下一步。。非常感谢你!!