R,tryCatch错误

时间:2014-05-14 16:56:51

标签: r try-catch

我正在解析很多网站,我编写了一个脚本,通过单独的文件循环数千个链接。但是,我经历过,有时R无法加载一个链接,它在循环中间停止,留下许多其他网址未解析。所以我尝试使用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

令人困惑的是,它有时会运行良好,有时它会抛出此错误消息,即使相同的脚本解析相同的URL。

任何人都可以给我一个如何解释此错误消息的指导吗?我阅读了该文件,但我找不到太多的见解。

1 个答案:

答案 0 :(得分:6)

我认为你的函数必须以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}