【发布时间】:2016-07-18 20:46:27
【问题描述】:
很抱歉,我无法从一开始就告诉您这些功能是什么。
我有一个函数CheckOutCell。它需要一个参数,即数字764。所以每次我运行这个函数时,它看起来都是这样的:CheckOutCell(764)。
现在很多时候这个函数会给我一个错误:
Error in checkInCell(764) :
The function is currently locked; try again in a minute.
这是自定义错误消息,详细信息对这个问题并不重要。
现在这个功能可以在 30 秒到一个小时内锁定。我希望能够自动运行 CheckOutCell(764) 直到它通过,然后停止运行它。也就是说,运行它直到我没有收到错误,然后停止。
我认为开始会使用
while(capture.output(checkInCell(764)) == "Error in checkInCell(764) :
The function is currently locked; try again in a minute."){
do something}
然而这只会产生
Error in checkInCell(764) :
The function is currently locked; try again in a minute.
因为函数仍然被锁定,所以无法捕获任何输出。
我将如何测试while(error = T)
假设函数的源代码不能修改。
即使is.error(CheckInCell(764)) 也会产生同样的错误信息
【问题讨论】:
-
你试过 tryCatch 了吗?
-
我有,我不知道该去哪里,如果我使用“tryCatch”回答我自己的问题,我会发布它
-
尝试
stopifnot或stop如果否则阻塞。如果您使用的是stop,请务必拨打电话。 = FALSE 并传递适当的错误消息
标签: r error-handling automation