保存功能中的警告/错误而不显示在屏幕上

时间:2016-02-25 18:04:13

标签: r error-handling try-catch

我发现这个非常有用的工厂将任何函数转换为捕获其值,错误和警告的函数(How do I save warnings and errors as output from a function?):

factory <- function(fun)
function(...) {
    warn <- err <- NULL
    res <- withCallingHandlers(
        tryCatch(fun(...), error=function(e) {
            err <<- conditionMessage(e)
            NULL
        }), warning=function(w) {
            warn <<- append(warn, conditionMessage(w))
            invokeRestart("muffleWarning")
        })
    list(res, warn=warn, err=err)
}

我的问题是错误/警告也显示在屏幕上(在工厂捕获之上)。如何更改它以便错误/警告不会显示在屏幕上? 感谢

1 个答案:

答案 0 :(得分:0)

您需要设置选项,以便不显示错误消息。在函数体中,您可以调用以下代码:

options(show.error.messages= FALSE)

在离开之前不要忘记将其变为TRUE,看到错误消息总是有用的。