【问题标题】:How can I make R send an alert if it encounters an error?如果遇到错误,如何让 R 发送警报?
【发布时间】:2015-03-05 20:03:55
【问题描述】:

由于mail 包,我目前喜欢在我的 R 脚本完成运行时接收电子邮件通知。

但是,我想知道如果脚本因为遇到错误而无法完成运行,是否可以让 R(或 RStudio 或其他东西)通知我?电子邮件将是最好的交付方式。

当我在远程机器上运行代码时,或者当我离开计算机时,这将非常有用。

【问题讨论】:

  • 使用trytryCatch 处理错误。
  • 谢谢,我看看能不能让 tryCatch 工作。还有什么比这更普遍的吗?可能由 any 错误触发的东西,无论它发生在脚本中的什么位置?
  • tryCatch 非常通用。您只需要一个单独的脚本来调用您的脚本:tryCatch(expr = {source(my_script)}, ...)。我想您可以将整个脚本包装在 tryCatch 中,但单独的脚本似乎更干净。
  • 我没有意识到这一点。谢谢!

标签: r error-handling notifications


【解决方案1】:

获取推送消息:http://cran.r-project.org/web/packages/RPushbullet/index.html

或者给自己发一封电子邮件:http://cran.r-project.org/web/packages/mailR/

并使用 tryCatch...

a <- tryCatch({
    source("your_script.R")
}, warning = function(w) {
    warning-handler-code
}, error = function(e) {
    send mail, pushbullet, etc...
}, finally = {
    cleanup
}

【讨论】:

  • 既然 OP 说他会在脚本完成后给自己发邮件,我猜问题是错误处理不发送消息。
  • 是的,我的意思是如果 R 出于任何原因遇到错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多