Secara default, traceback() mencetak tumpukan panggilan dari kesalahan terakhir yang tidak tertangkap, yaitu urutan panggilan yang menyebabkan kesalahan. Ini berguna ketika terjadi kesalahan dengan pesan kesalahan yang tidak dapat diidentifikasi. Ini juga dapat digunakan untuk mencetak tumpukan saat ini atau daftar panggilan yang telah dihapus secara sewenang-wenang. .traceback() sekarang mengembalikan tumpukan panggilan di atas (dan traceback(x, *) dapat dianggap sebagai fungsi praktis untuk mencetak hasil .traceback(x)).
traceback(x = NULL, max.lines = getOption("deparse.max.lines"))
.traceback(x = NULL)
| Parameter | Deskripsi |
|---|---|
x |
NULL (default, meaning .Traceback), or an integer count of calls to skip in the current stack, or a list or pairlist of deparsed calls. See the details. |
max.lines |
The maximum number of lines to be printed per call. The default is unlimited. |
# NOT RUN {
foo <- function(x) { print(1); bar(2) }
bar <- function(x) { x + a.variable.which.does.not.exist }
# }
# NOT RUN {
foo(2) # gives a strange error
traceback()
# }
# NOT RUN {
<!-- %dont -->
# }
# NOT RUN {
## 2: bar(2)
## 1: foo(2)
bar
## Ah, this is the culprit ...
## This will print the stack trace at the time of the error.
options(error = function() traceback(3))
# }