myFunc <- function(x)
{
x <- timeSeries(x, charvec=as.Date(index(x)))
t<-tryCatch( doSomething(x), error=function(x) rep(0,ncol(x))
)
t
}
如何将 x 传递给错误函数?当我运行上述内容时,我得到:
rep(0, ncol(x)) 中的错误:无效的“次”参数
该error
参数是一个处理程序,记录在案(参见 参考资料?tryCatch
)以接受一个参数(错误条件)。错误处理程序可以访问stop
调用时可用的任何变量。所以
f = function() {
tryCatch({
i = 1
stop("oops")
}, error=function(e) {
stop(conditionMessage(e), " when 'i' was ", i)
})
}
捕获代码抛出的错误,发现值i
,并发出更多信息的消息。所以我猜
myFunc <- function(x)
{
tryCatch({
x <- timeSeries(x, charvec=as.Date(index(x)))
doSomething(x)
}, error=function(...) rep(0, ncol(x)))
}