基于R脚本生成HTML报告,出现错误时停止执行脚本,生成报告直至并包括该错误?

j2cgzkjk  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(170)

我正在尝试使用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 在{}中,但这带来了其他问题,所以如果可能的话,我希望找到不同的解决方案。

j2datikz

j2datikz1#

要使这个error钩子生效,您需要设置块选项error = TRUE,例如:

knitr::opts_chunk$set(error = TRUE)

相关问题