我想在 R 中编写一个自定义错误函数,使用更一致的错误消息格式。在基础 R 中,错误的格式是这样的:如果错误消息超出控制台宽度,则将其放在新行上,并将其缩进两个空格:
abort <- function(msg) stop(msg)
> abort("This is a very very very very long error message")
# Error in abort("This is a very very very very long error message") :
# This is a very very very very long error message
如果它不超过控制台宽度,则直接将其放在调用后面:
> abort("Short message")
# Error in abort("Short message") : Short message
在我的自定义错误函数中,我打算通过始终在新行上开始显示错误消息来保持格式更加一致(类似于cli
包错误格式):
abort <- function(msg) stop("\n", msg)
但是,当将此函数与非常长的错误消息(或长调用)一起使用时,基本 R 错误格式会在错误输出中添加新行,从而添加不需要的空格。
> abort("This is a very very very very very very very very long error message")
# Error in abort("This is a very very very very very very very very long error message") :
#
# This is a very very very very very very very very long error message
有没有什么方法可以控制这种行为,通过抑制它或者通过找出它发生的时间并手动解决它?