我有一个函数,它会生成一个不需要的警告,但会保留值。
f <- function(a) {
if (a > 1) {
warning("an uninformative warning")
}
a
}
g1 <- function(b) {
withCallingHandlers(
x <-f(b),
warning = function(w) {
warning("A more informative warning")
})
x
}
g1(2)
#> Warning in (function (w) : A more informative warning
#> Warning in f(b): an uninformative warning
#> [1] 2
字符串
创建于2023-12-12带有reprex v2.0.2
不幸的是,这引发了两个警告。
对于tryCatch()
,x不会被保留,而对于withCallingHandlers()
,两个警告都被抛出。
1条答案
按热度按时间bakd9h0s1#
您可以让
warning
处理程序发出自己的警告,然后调用muffleWarning
restart:字符串
测试:
型