stop {base} | R Documentation

## Stop Function Execution

### Description

`stop` stops execution of the current expression and executes an error action.

`geterrmessage` gives the last error message.

### Usage

    stop(..., call. = TRUE)
    geterrmessage()

### Arguments

`...` | character vectors (which are pasted together with no separator), a condition object, or `NULL`.
`call.` | logical, indicating if the call should become part of the error message.

### Details

The error action is controlled by error handlers established within the executing code and by the current default error handler set by `options(error=)`. The error is first signaled as if using `signalCondition`. If there are no handlers or if all handlers return, then the error message is printed (if `options("show.error.messages")` is true) and the default error handler is used. The default behaviour (the `NULL` error-handler) in interactive use is to return to the top level prompt or the top level browser, and in non-interactive use to (effectively) call `q("no", status=1, runLast=FALSE`). The default handler stores the error message in a buffer; it can be retrieved by `geterrmessage`. It also stores a trace of the call stack that can be retrieved by code{traceback}.

Errors will be truncated to `getOption("warning.length")` characters, default 1000.

### Value

`geterrmessage` gives the last error message, as character string ending in `"\n"`.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

### See Also

`warning`, `try` to catch errors and retry, and `options` for setting error handlers. `stopifnot` for validity testing. `tryCatch` and `withCallingHandlers` can be used to establish custom handlers while executing an expression.

### Examples

    options(error = expression(NULL))# don't stop on stop(.)  << Use with CARE! >>

    iter <- 12
    if(iter > 10) stop("too many iterations")

    tst1 <- function(...) stop("dummy error")
    tst1(1:10,long,calling,expression)

    tst2 <- function(...) stop("dummy error", call. = FALSE)
    tst2(1:10,long,calling,expression,but.not.seen.in.Error)

    options(error = NULL)# revert to default

[Package Contents]