tryCatch()的问题

时间:2016-02-19 11:39:54

标签: r image pixmap

我正在尝试在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(),但我无法弄清楚如何应用它。非常感谢你!

1 个答案:

答案 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