我正在使用foreach
+ %dopar%
在多个内核上实现并行性。我知道有些任务将面临例外。发生异常时:
我尝试查找有关此资源,但找不到任何资源。看来我使用了错误的关键字。如果您有任何资源,请指导我。
答案 0 :(得分:2)
foreach
中有一个名为.errorhandling
的参数,它可以具有stop
(默认值),remove
或pass
的值。他们的行为是这样的:
stop
:该功能将停止。remove
:此特定任务的结果将不会返回。pass
:错误对象将包含在结果中。因此,针对您的特定问题,如果您有多个并行运行的任务,并且一个工作线程中的一个任务引发了异常,则它将停止该进程并将传递给“计划的”下一个任务(这是因为默认值stop
)。其他任务将照常并行进行。
请参阅this answer,该书更好地说明了如何处理foreach
和%dopar%
中的错误。
我希望这可以澄清您的问题。