我正在尝试在R中构建一个如下所示的脚本:
randomlist <- list(x=ran1, y=ran2) #{x,y}
contour <- Conte(c(round(randomlist$x),round(randomlist$y)),img@grey)
#if Conte function returns me an error, then get new randomlist values
#Do until it doesn't returns an error
如果随机{x,y}
位于图像区域内,则函数返回轮廓图像的坐标。我知道这可能是一种愚蠢而不是那么明确的问题但是我不擅长R并且错误处理对我来说是一团糟。我试过tryCatch()
,但我无法弄清楚如何应用它。非常感谢你!
答案 0 :(得分:1)
可重复的代码会有所帮助。
我通常使用try
处理这些问题,例如:
temp <- function(N) {
if (N < 0) stop("Error")
return(N)
}
out <- 0
n <- 0
out <- try(temp(rnorm(1)))
while(class(out) == "try-error") {
n <- n + 1
print(n)
out <- try(temp(rnorm(1)))
}
out