如何在R中的错误消息中格式化输出

时间:2019-04-04 13:50:44

标签: r error-handling

我想在我的R函数中向用户显示一条错误消息,以说明特定的错误。为此,我创建了一个小标题输出。假设:

err_out = tibble(a=c(1,2), b=c(3,4)) 
stop("Error X happend:", err_out)

我得到Error: Error X happend:c(1, 2)c(3, 4),但我希望使用该小标题的典型表示形式,即

Error: Error X happend:
# A tibble: 2 x 2
      a     b
  <dbl> <dbl>
 1     1     3
 2     2     4

1 个答案:

答案 0 :(得分:1)

这有效:

err_out = tibble(a=c(1,2), b=c(3,4))
stop("Error X happened:\n", paste(capture.output(err_out), collapse = "\n"))
# Error: Error X happened:
# # A tibble: 2 x 2
#       a     b
#   <dbl> <dbl>
# 1     1     3
# 2     2     4

如果您经常这样做,则可能需要将其包装在实用程序函数中。