如何更改警告设置?

Vin*_*ntH 20 warnings r options

我正在尝试调试一个函数.我想在它们出现时显示警告,但我不明白如何更改警告设置.

Ben*_*ker 25

指定可能很有用

options(warn=2, error=recover)
Run Code Online (Sandbox Code Playgroud)

如@plannapus所述,warn=2将警告升级为错误; error=recover将在您发出警告(现已升级为错误)的位置将您置于调试/浏览器模式.(options(warn=0, error=NULL)用于恢复原始设置.)


And*_*rie 13

options(warn=1)
Run Code Online (Sandbox Code Playgroud)

阅读更多内容 ?options


pla*_*pus 9

从帮助页面options:

warn:设置警告消息的处理.如果warn为否定,则忽略所有警告.如果warn为零(默认值)警告将存储,直到顶级函数返回.如果发出少于10个警告信号,则会打印一条消息,说明有多少(最多50个)发出信号.last.warning创建一个对象,可以通过该函数打印warnings.如果warn是1,则在发生警告时打印警告.如果warn是两个或更大,则所有警告都会变成错误.

因此,options(warn=1)应该在发生警告时打印警告.

否则函数traceback()(在未识别的错误之后)显示哪个子例程失败(更准确地说是"导致错误的调用序列").