尝试捕获没有捕获“错误:未知IO错误” - I / O警告:无法加载外部实体

时间:2017-07-28 08:22:57

标签: r try-catch ioerror xbrl

下面的代码是函数的一部分。 getLatestFileName函数获取正确的fileName(本地存储)。

错误是由tryCatch表达式引起的:结果< - try(xbrlDoAll ...) 即使我尝试使用try函数和try catch来捕获它,我甚至将选项更改为show.error.messages = FALSE。 我一直得到以下输出导致R崩溃:

[1]“最后一步”

[1]“STEP 1”

错误:未知IO错误

I / O警告:无法加载外部实体“http://xbrl.us/us-gaap/1.0/elts/us-gaap-all-2008-03-31.xsd

根据我打印的内容,我认为错误是由XBRL包引起的,当它试图从上面的URL获取信息时。

有人能帮助我吗?

  instance <- getLatestFileName(ticker, date, type)
  options(stringsAsFactors = FALSE)
  result <- NA
  #result <- try(xbrlDoAll(instance, cache.dir = "XBRLcache", prefix.out = NULL), silent = TRUE)

  tryCatch({
      print("STEP 1")
      options(show.error.messages = FALSE)
      result <- try(xbrlDoAll(instance, cache.dir = NULL, prefix.out =  NULL), silent = TRUE)
      print("STEP2")
    }, warning <- function(w) {
      result <- NA
      print("WARNING")
    }, error = function(e) {
      result <- NA
      print(result)
      print("Test")
    }, finally <- {
      print("FINAL STEP")
    })

  try(is.na(result))
  print("we did get here")

1 个答案:

答案 0 :(得分:0)

我通过将2008年的所有分类文件放在我的XBRLCache文件夹中解决了这个特定问题。

我在此链接下载了正确的文件(不是错误的空白):

http://xbrl.us/documents/XBRLUSGAAPTaxonomies-2008-03-31.zip

加载页面时可能会出现问题,因为我看到它并不总是有效。 可能那些服务器太忙......

我希望这也适用于其他人!

太糟糕了我没有解决不捕捉的问题..