Использовать tryCatch, переходить к следующему значению цикла при ошибке?

Я прочитал несколько других вопросов SO о tryCatch и cuzzins, а также документацию:

, но я все еще не понимаю.

Я выполняю цикл и хочу перейти к следующему , если возникает какая-либо из нескольких ошибок:

for (i in 1:39487) {

  # EXCEPTION HANDLING
  this.could.go.wrong <- tryCatch(
                           attemptsomething(),
                           error=function(e) next
                         )
  so.could.this <- tryCatch(
                     doesthisfail(),
                     error=function(e) next
                   )

  catch.all.errors <- function() { this.could.go.wrong; so.could.this; }
  catch.all.errors;


  #REAL WORK
  useful(i); fun(i); good(i);

  }  #end for

(кстати, документации для next нет ], который я могу найти)

Когда я запускаю это, R гудит:

Error in value[[3L]](cond) : no loop for break/next, jumping to top level

Какой основной момент мне здесь не хватает? tryCatch явно находятся в пределах цикла for , так почему же R не знает этого?

57
задан smci 13 September 2018 в 22:46
поделиться