我已经阅读了很多关于使用tryCatch()
(来自此网站和其他网站)的内容,但我似乎无法让它发挥作用。我知道这是一个多余的问题,我道歉,但我真的可以使用帮助。
read.rwl()
打破了我的循环,因为我试图阅读的一些数据很混乱。我想跳过来自list.rwl
的任何破坏我的循环的URL,同时保存作为对象的URL,否则会破坏循环。
itrdb <- read.csv ("itrdb.csv")
itrdb.rwl <- (itrdb [,7])
library (dplR)
for (i in 1:length(itrdb)) {
list.rwl <- as.character (rwl.crn [1] [i])
skip_with_message = simpleError('Did not work out')
x <- tryCatch(read.rwl (list.rwl), error = function(e) skip_with_message)
}
答案 0 :(得分:0)
使用tryCatch
捕获错误后,您可以使用它执行某些操作。在下面的示例中,我只是捕获错误(或生成一个随机数),但您可以调整生成NA或任何可能适合您的流程的条件。有关更多示例,请参阅?tryCatch
。
x <- as.list(rep(NA, 10))
set.seed(357)
for (i in 1:10) {
feelin.lucky <- runif(1)
if (feelin.lucky >= 0.5) {
x[[i]] <- tryCatch({
simpleError("this is error")
}, error = function(e) e)
} else{
x[[i]] <- rnorm(1)
}
}
> x
[[1]]
[1] -1.597783
[[2]]
[1] 0.3947471
[[3]]
<simpleError: this is error>
[[4]]
<simpleError: this is error>
[[5]]
<simpleError: this is error>
[[6]]
<simpleError: this is error>
[[7]]
<simpleError: this is error>
[[8]]
<simpleError: this is error>
[[9]]
[1] -0.7539072
[[10]]
[1] -0.4690151