I am trying to download a bunch of files from a server, for which I am using download.file( ) within a for loop. The script is working fine except until download.file hits a URL which has no file, at which point it exits. I want to change this behavior to simple log the failure and maintain state within the for loop and iterate to next. I read about try / tryCatch but am having trouble understanding what/how it does. Thanks.
#begin script date <- as.POSIXlt(as.Date("2007-10-15", "%Y-%m-%d")) for (i in 1:difftime(as.POSIXlt(as.Date("2007-10-15", "%Y-%m-%d")),"2007-10-01")) { if (date$wday != 0 & date$wday != 6) { datestr <- as.character(date, "%d%m%y") #make date character string ddmmyy url <- paste("http://www.bseindia.com/bhavcopy/eq",datestr,"_csv.zip",sep="") file <- paste("C:/",datestr,"_csv.zip",sep="") #options(show.error.messages = FALSE) #options(warn = -1) try(download.file(url, destfile = file, quiet = TRUE, mode = "wb"), finally = cat("OK:",url,\n)) date <- as.POSIXlt(as.Date(date - 86400)) } else {date <- as.POSIXlt(as.Date(date - 86400))} } # end script Thanks, Vishal Belsare ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.