【发布时间】:2016-02-21 07:14:28
【问题描述】:
我有代码,我在其中一个接一个地采购多个代码。类似下面的东西
source("t1.r")
source("t2.r")
source("t3.r")
source("t4.r")
如果任何源语句出现错误,则在运行此主脚本时,我不想获取任何剩余脚本(即不想运行任何后续语句)。
我不想在每个源语句之后都写 if 错误条件。我想做一些普遍的事情,而且只在一开始。
我应该在主脚本中做哪些改变来做到这一点?
【问题讨论】:
-
这些文件是多行代码吗?或者这些文件中是否有功能。可以看
stop函数 -
是的,它们是多行代码,但其中没有函数。
-
停止函数,我必须在每个语句之后写,不是吗?这效率太低了,因为主脚本中有很多源语句。
-
为什么要为 20 个脚本编写 20 次
source调用?迭代脚本名称/路径并在循环中处理异常,不要按照 DRY 原则复制/粘贴。 -
如果你把这些
source语句放在一个文件中(比如命名为all.R),那么你运行source("all.R"),一旦出现错误它就会停止。您是否还想知道哪个脚本产生了错误?
标签: r error-handling try-catch