abort.RdAborts the current expression call and returns to the top level prompt/browser without signaling a condition.
# Default S3 method
abort(..., call.=TRUE, domain=NULL)(optional) Objects coerced to character and pasted together without a separator, or a @condition object. If no object are given, no message is printed.
If TRUE, the call is added to the message, otherwise not.
Used to translate the message (see gettext()). If NA, messages will not be translated.
Returns nothing.
There are still cases where one can "catch" the abort and undo it, cf. [1].
throw().
stop().
Internally, invokeRestart()("abort") is utilized.
[1] R-devel thread ”, Sept 11, 2012,
https://stat.ethz.ch/pipermail/r-devel/2012-September/064838.html.
if (FALSE) { # \dontrun{
foo <- function() {
cat("foo()...\n")
on.exit(cat("foo()...done\n"))
tryCatch({
stop("Woops!")
}, error = function(ex) {
cat("An error was caught: ", ex$message, "\n", sep="")
})
cat("Continuing...\n")
}
bar <- function() {
cat("bar()...\n")
on.exit(cat("bar()...done\n"))
tryCatch({
abort("Woops!")
}, error = function(ex) {
cat("An error was caught: ", ex$message, "\n", sep="")
})
cat("This message will never be displayed...\n")
}
# An error generated by stop() can be caught
foo()
# ...which is not possible when using abort()
bar()
# This expression is never reached
cat("This line will never be outputted.\n")
} # }