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.