2013-05-09 98 views
1

运行roxygenize(package roxygen2)时是否可以检测是否有问题?我可以检查roxygenize是否失败?

我想自动化进程记录,检查和构建一个软件包,并希望在记录出错时停止。

roxygenize帮助说返回值为NULL,我搜索stackoverflow没有成功。目前,我需要查看输出并搜索是否有以“Error”开头的行。

任何暗示赞赏!

回答

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技术用于处理错误。