R如何关闭特定错误

时间:2016-05-24 14:20:14

标签: r error-handling

如何全局关闭R中的特定错误?

例如,我想"全球"忽略Rstudio中的常见错误: " plot.new()出错:数字边距太大"不改变每个情节调用,也不用在Rstudio中使情节面板变大。

例如,Matlab这样做是可能的,我想。如何在R中这样做?谢谢!

3 个答案:

答案 0 :(得分:0)

检查一下。这是错误。

stop("Urgh, the iphone is in the blender !")

这是使用try catch的解决方案。

tryCatch({
   stop("Urgh, the iphone is in the blender !")
}, error=function(e){})

答案 1 :(得分:0)

上述解决方案已经提到suppresX - 解决方案和tryCatchdplyrtryCatch failwith提供了一个很好的包装器,名为library(dplyr) toyfun <- function(x){ stopifnot(x=="coffee") return(":)") } toyfun(42) # gives error message toyfun <- failwith(":(", toyfun, quiet=T) toyfun(42) [1] ":("

plot <- failwith(warning("sth wrong"), plot, quiet=T)

在具体示例中,您可以覆盖有问题的功能。请注意,这很危险,如果真的困扰你,你应该只使用它。

plot <- function(...) tryCatch(plot(...), error=function(e){})

或者:

plot

通过这种方式,您在工作空间中有一个名为base::plot的被操作函数,该函数被调用而不是 @IBOutlet weak var headerTitle: UILabel! 。我认为这是&#34;全球&#34;你会得到一个解决方案。然而,更安全的路线是以不同的方式命名该函数,并相应地更改代码中的函数调用。

答案 2 :(得分:-1)

我认为您正在寻找suppressWarnings(plot(...))或者是suppressMessages(plot(...))消息。