【发布时间】:2013-05-09 07:58:36
【问题描述】:
是否可以检测到运行roxygenize(包roxygen2)时是否有问题?
我想自动化记录、检查和构建包的过程,并希望在记录出错时停止。
roxygenize 帮助说返回值为 NULL,我搜索了 stackoverflow 没有成功。目前,我需要查看输出并搜索是否有以“错误”开头的行。
感谢任何提示!
【问题讨论】:
是否可以检测到运行roxygenize(包roxygen2)时是否有问题?
我想自动化记录、检查和构建包的过程,并希望在记录出错时停止。
roxygenize 帮助说返回值为 NULL,我搜索了 stackoverflow 没有成功。目前,我需要查看输出并搜索是否有以“错误”开头的行。
感谢任何提示!
【问题讨论】:
当roxygenize 发现错误时,例如,您在代码中包含stop("Raise an error"),那么roxygenize 将返回错误。
另一种情况(这是您所了解的)是roxygenise 能够完成,但文档过程的某些方面不正确。在这种情况下,这些错误将存储为警告。因此,一种解决方案是将警告更改为错误。
例如,假设您有一个包含以下行的文件:
#' @XXX
这会导致:
roxygenise("pkg/")
发出警告
Warning: XXX is an unknown key in block AllGenerics.R:5
如果我们将警告更改为错误:
##All warnings are now errors
options(warn=2)
然后
roxygenise("pkg/")
会引发错误:
Error: (converted from warning) XXX is an unknown key in block AllGenerics.R:5
然后您可以使用标准的tryCatch 技术来处理错误。
【讨论】: