闪亮:针对所有错误显示一条消息

Lov*_*e-R 6 r shiny

我在R's Shiny中有一个应用程序。我想处理消息,以便用户看不到发生了什么错误。我知道通过

 tags$style(type="text/css",
                        ".shiny-output-error { visibility: hidden; }",
                        ".shiny-output-error:before { visibility: hidden; }"
            ),
Run Code Online (Sandbox Code Playgroud)

我可以完全禁用错误消息,但我想向用户显示一条消息,例如

发生错误。请联系管理员。

无论何时出现任何类型的消息(并且仍将原始错误消息保留在日志中)。有任何想法吗?

Pet*_*son 3

options(shiny.sanitize.errors = TRUE)您可以在应用程序中的某个位置添加。然后,所有错误消息都将替换为通用错误消息:

错误:发生错误。检查您的日志或联系应用程序作者以获得澄清。

如果您确实希望特定错误未经过滤地传递,则可以使用base::stop(shiny::safeError(e))而不是仅使用base::stop(e),其中e是错误字符串或类为“error”的对象。

参考: https: //shiny.rstudio.com/articles/sanitize-errors.html