2013-04-12 127 views
1

我有一堆ftp站点,我想用rCurl getURL函数自动检索数据。在r代码中处理ftp错误

我这样做:

首先我喜欢这个网址边的矢量:

sites<-c("ftp.test1.com", "ftp.test2.com", "ftp.test3.com") 
for (i in 1:length(sites)) { 
    data<-getURL(sites[i], userpwd="id:passwd") 

    <here I have code to insert this data to db> 
} 

,直到在这里它的工作原理。但有时候,我可以从ftp站点抽出时间。如果超时,这段代码就会中断。如果出现超时或身份验证错误,我该如何处理。我喜欢继续处理其他fpt站点并将问题记录到有问题的ftp站点。任何想法,我将如何做到这一点?

回答

2

如果通过the code breaks表示代码引发了R错误,则可以使用tryCatch来捕获错误。然后,您可以优雅地处理该问题,而不是提出错误,例如只是省略这些数据,或尝试建立一个新的连接。

+0

这出现了很多。如果某些数据或空白数据帧分配出现错误,而不是继续,则整个程序关闭。有没有这种问题的好例子,我可以看看使用tryCatch? – user1471980