我正在尝试使用tryCatch在R中编写一个错误异常处理。
correct = 1
tryCatch({
sqrt(b)
},
warning = function(w){
print("NaNs")
},
finally = {
correct = 0
}
)
correct如果我设置b= -5,则打印警告,并且正确的值为0。如果我设置b= 5,则不会打印警告。但是,该值仍然为0。我想要的是,当有一些警告/错误需要捕获时,正确的值是0。当没有警告/错误时,正确的值为1。谢谢!
发布于 2014-06-20 04:34:48
下面是一个函数:
is.bad <- function(x) {
as.numeric(isTRUE(tryCatch(x,
error = function(c) TRUE,
warning = function(c) TRUE
)))
}
is.bad(stop())
is.bad(warning())
is.bad(message())
is.bad(3)
## > is.bad(stop())
## [1] 1
## > is.bad(warning())
## [1] 1
## > is.bad(message())
##
## [1] 0
## > is.bad(3)
## [1] 0https://stackoverflow.com/questions/24315626
复制相似问题