Aborts the current expression call and returns to the top level prompt/browser without signaling a condition.

# Default S3 method
abort(..., call.=TRUE, domain=NULL)

Arguments

...

(optional) Objects coerced to character and pasted together without a separator, or a @condition object. If no object are given, no message is printed.

call.

If TRUE, the call is added to the message, otherwise not.

domain

Used to translate the message (see gettext()). If NA, messages will not be translated.

Value

Returns nothing.

Details

There are still cases where one can "catch" the abort and undo it, cf. [1].

Author

Henrik Bengtsson

See also

throw(). stop(). Internally, invokeRestart()("abort") is utilized.

References

[1] R-devel thread ”, Sept 11, 2012, https://stat.ethz.ch/pipermail/r-devel/2012-September/064838.html.

Examples

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")

} # }