Rev 28625 | Rev 37455 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{traceback}\alias{traceback}\alias{.Traceback}\title{Print Call Stacks}\description{By default, \code{traceback()} prints the call stack of the lastuncaught error, i.e., the sequence of calls that lead to the error.This is useful when an error occurs with an unidentifiable errormessage. It can also be used to print arbitrary lists of deparsedcalls.}\usage{traceback(x = NULL)}\arguments{\item{x}{\code{NULL} (default), or a list or pairlist of deparsedcalls.}}\value{\code{traceback()} returns nothing, but prints the deparsed call stackdeepest call first. The calls may print on more that one line, andthe first line is labelled by the frame number.}\details{The stack of the last uncaught error is stored as a list of deparsedcalls in \code{.Traceback}, which \code{traceback} prints in auser-friendly format.Errors which are caught \emph{via} \code{\link{try}} or\code{\link{tryCatch}} do not generate a traceback, so what is printedis the call sequence for the last uncaught error, and not necessarilythe last error.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth \& Brooks/Cole.}\examples{foo <- function(x) { print(1); bar(2) }bar <- function(x) { x + a.variable.which.does.not.exist }\dontrun{foo(2) # gives a strange errortraceback()}## 2: bar(2)## 1: foo(2)bar## Ah, this is the culprit ...}\keyword{programming}