Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
msg <- function(..., prob = 0.25) {
if (runif(1) > prob) {
return(invisible())
}
messages <- c(...)
message(sample(messages, 1))
}
encourage <- function() {
msg(
"Everyone makes mistakes.",
"Have you tried googling the error message?",
"Frustration is a typical part of programming.",
"Sometimes carefully reading the error is helpful.",
"Take a deep breath and smile. You'll feel better!"
)
}
discourage <- function() {
msg(
"THE BUG IS IN YOU!",
"Your code is jolly obfuscatory.",
"Try again.",
"Why did you think that would work?!",
"*SIGH*"
)
}
# Pick your poison
options(error = encourage)
log("a")
#> Error in log("a") : non-numeric argument to mathematical function
#> Have you tried googling the error message?
options(error = discourage)
log("a")
#> Error in log("a") : non-numeric argument to mathematical function
#> THE BUG IS IN YOU!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment