【发布时间】:2018-01-04 05:23:57
【问题描述】:
下面的代码是函数的一部分。 getLatestFileName 函数获取正确的文件名(本地存储)。
这个错误是由tryCatch表达式引起的:result
[1]“最后一步”
[1]“第 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")
【问题讨论】:
-
如果你只运行
xbrlDoAll(instance, verbose = T)会发生什么? -
@Christoph 该包正在尝试获取架构,并正在查看缓存文件夹中的文件,该文件为空,因为生成该文件的 url 不再存在。错误在最后几行可见:
D:/Thesis_Bram_Lavens/DataLost/raw_data/ABB/20-F/2009-03-10/2008-12-31/abb-20081231.xsd ==> Schema: http://xbrl.us/us-gaap/1.0/elts/us-gaap-all-2008-03-31.xsd Schema: http://xbrl.us/us-gaap/1.0/elts/us-gaap-all-2008-03-31.xsd Using file from cache dir... XBRLcache/us-gaap-all-2008-03-31.xsd:1: parser error : Document is empty Elements -
抱歉编辑!我第一次在 stackoverflow 上发帖时尝试让格式正确
-
that 有帮助吗?
-
@Christoph,你所说的“那个”到底是什么意思?我的重点是捕捉错误。发生错误的原因是因为这个 url:xbrl.us/us-gaap/1.0/elts/us-gaap-all-2008-03-31.xsd 不再工作。目前,我不想解决这个问题,我只想让我的代码处理它并继续。