stop {base} | R Documentation |
stop
stops execution of the current expression and executes
an error action.
geterrmessage
gives the last error message.
stop(..., call. = TRUE, domain = NULL) geterrmessage()
... |
zero or more objects which can be coerced to character (and which are pasted together with no separator) or a single condition object. |
call. |
logical, indicating if the call should become part of the error message. |
domain |
see |
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 traceback()
.
Errors will be truncated to getOption("warning.length")
characters, default 1000.
If a condition object is supplied it should be the only argument, and further arguments will be ignored, with a warning.
geterrmessage
gives the last error message, as a character string
ending in "\n"
.
Use domain = NA
whenever ...
contain a
result from gettextf()
as that is translated already.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
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.
gettext
for the mechanisms for the automated translation
of messages.
iter <- 12 try(if(iter > 10) stop("too many iterations")) tst1 <- function(...) stop("dummy error") try(tst1(1:10, long, calling, expression)) tst2 <- function(...) stop("dummy error", call. = FALSE) try(tst2(1:10, longcalling, expression, but.not.seen.in.Error))