下面的代码是函数的一部分。 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")
答案 0 :(得分:0)
我通过将2008年的所有分类文件放在我的XBRLCache文件夹中解决了这个特定问题。
我在此链接下载了正确的文件(不是错误的空白):
http://xbrl.us/documents/XBRLUSGAAPTaxonomies-2008-03-31.zip
加载页面时可能会出现问题,因为我看到它并不总是有效。 可能那些服务器太忙......
我希望这也适用于其他人!
太糟糕了我没有解决不捕捉的问题..