运行roxygenize
(包roxygen2)时是否可以检测是否存在问题?
我希望自动化流程记录,检查和构建包,并希望在文档出错时停止。
roxygenize帮助说返回值为NULL,我搜索stackoverflow但没有成功。目前,我需要查看输出并搜索是否有以“Error”开头的行。
任何暗示都赞赏!
答案 0 :(得分:2)
当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
技术来处理错误。