在R中检查条件后,如何向控制台发送消息,但不返回任何内容而不是NULL

在R中检查条件后,如何向控制台发送消息,但不返回任何内容而不是NULL,r,error-handling,R,Error Handling,这可能是重复的,但我找不到相关的问题。基本上,我希望在某些条件之后向控制台发送消息a并返回“nothing”。此外,我试图理解和理解/ifmessage()何时返回NULL: foo_01空 傅(03) #>错误:请为bar提供一个值。 由(v0.3.0)于2019-07-09创建 理想的输出应该是foo_03(),但这是实现这一目标的最佳方式吗 为什么foo_02()和foo_03不同 不可见与此相关吗 我知道stop(),但更喜欢message()的“cleaner”输出 消息不干净——如

这可能是重复的,但我找不到相关的问题。基本上,我希望在某些条件之后向控制台发送消息a并返回“nothing”。此外,我试图理解和理解/if
message()
何时返回
NULL

foo_01空
傅(03)
#>错误:请为bar提供一个值。
由(v0.3.0)于2019-07-09创建

  • 理想的输出应该是
    foo_03()
    ,但这是实现这一目标的最佳方式吗
  • 为什么
    foo_02()
    foo_03
    不同
  • 不可见
    与此相关吗

  • 我知道
    stop()
    ,但更喜欢
    message()
    的“cleaner”输出

    消息
    不干净——如果您的代码想要引发错误,它应该使用
    停止
    来执行此操作。您还可以使用
    missing
    检测缺少的参数

    foo2 <- function(bar) {
      if (missing(bar)) stop("please provide a value for bar")
      bar
    }
    foo2()
    
    foo2