В foreach
есть параметр, называемый .errorhandling
, он может иметь значения stop
(по умолчанию), remove
или pass
. их поведение таково:
stop
: функция будет остановлена.
remove
: результат этого конкретного задания не будет возвращен.
pass
: объект ошибки будет включен в результаты.
Таким образом, при рассмотрении вашего конкретного вопроса, если у вас есть много задач, выполняющихся параллельно, и одна из задач в одном работнике вызвала исключение, тогда он остановит процесс и перейдет к следующей задаче «по расписанию» (то есть из-за значение по умолчанию stop
). Другая задача будет продолжаться в обычном режиме параллельно.
См. этот ответ , который лучше объясняет, как обрабатываются ошибки в foreach
и %dopar%
.
Надеюсь, это немного прояснит вашу проблему.