2013-05-09 109 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技術用於處理錯誤。