【发布时间】:2020-02-24 06:42:55
【问题描述】:
我有两个简单的函数:f1 和 f2。 假设我们只能访问f2。如何删除 f2 中导致 f1 到 stop 的任何输出并返回其余输出?
我想要的输出显示在代码下方。
# FUNCTION #1:
f1 <- function(...){
r <- list(...)
lapply(seq_along(r), function(i) if(r[[i]] == 4) stop("Problem") else r[[i]] + 1)
}
# FUNCTION #2:
f2 <- function(...){
res <- try(f1(...), silent = TRUE)
# if any 'res' causes 'stop' remove it, and return the rest!
}
# EXAMPLE:
f2(1, 2, 4)
我想要的输出是:
#[[1]]
#[1] 1
#[[2]]
#[1] 2
【问题讨论】:
标签: r list function error-handling