From bb186aa30e265466f1152b962d5ffc069a5aac85 Mon Sep 17 00:00:00 2001 From: unknown <ldecicco@usgs.gov> Date: Thu, 11 Sep 2014 09:34:44 -0500 Subject: [PATCH] Added error handling. --- R/getWaterML2Data.r | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/R/getWaterML2Data.r b/R/getWaterML2Data.r index 60d4c8fa..bd473da6 100644 --- a/R/getWaterML2Data.r +++ b/R/getWaterML2Data.r @@ -12,7 +12,25 @@ #' dataReturned3 <- getWaterML2Data(URL) getWaterML2Data <- function(obs_url){ - doc <- xmlTreeParse(obs_url, getDTD = FALSE, useInternalNodes = TRUE) + doc = tryCatch({ + returnedDoc <- getURI(obs_url, headerfunction = h$update) + if(h$value()["Content-Type"] == "text/xml;charset=UTF-8"){ + xmlTreeParse(returnedDoc, getDTD = FALSE, useInternalNodes = TRUE) + } else { + message(paste("URL caused an error:", obs_url)) + message("Content-Type=",h$value()["Content-Type"]) + return(NA) + } + + }, warning = function(w) { + message(paste("URL caused a warning:", obs_url)) + message(w) + }, error = function(e) { + message(paste("URL does not seem to exist:", obs_url)) + message(e) + return(NA) + }) + doc <- xmlRoot(doc) ns <- xmlNamespaceDefinitions(doc, simplify = TRUE) -- GitLab