我正在尝试使用Rmarkdown::Render从R脚本生成一个报表。如果脚本中有错误,我希望脚本停止,并希望呈现报表到该点,包括错误。到目前为止,我有以下内容:
knit_hooks$set(error = function(x, options) {
knit_exit(); x
})
stop("this is an error!")
message("this message shouldn't be displayed")
stop("second error")
当我使用rmarkdown::render或knitr::spin渲染时,它会生成包含所有错误的报告,但不会在遇到第一个错误时停止脚本的执行。这是有意义的,因为我没有告诉它这样做,但我不知道如何调整我的脚本,使它在遇到第一个错误时停止,但仍然生成包含错误的报告。到目前为止,我尝试的唯一有效的方法是将整个脚本 Package 在{}中,但这带来了其他问题,所以如果可能的话,我希望找到不同的解决方案。
1条答案
按热度按时间j2datikz1#
要使这个
error
钩子生效,您需要设置块选项error = TRUE
,例如: