tryCatch
для функционального программирования.Это не очень подходит для взлома структур потока управления.Я предлагаю использовать try
вместо.
set.seed(1) #for reproducibility
while (TRUE) {
res <- try({
x <- sample(1:5, 1)
if (x == 5) stop("error")
x
}, silent = TRUE)
if (class(res) == "try-error") {
message("breaking loop")
break
} else message(sprintf("The number is %d.", res))
}
#The number is 2.
#The number is 2.
#The number is 3.
#breaking loop