Domanda

By stack, I refer to the output from traceback() upon error condition. How does one 'clear the stack' so one gets 'No traceback available' from traceback()? thanks

È stato utile?

Soluzione

It can be done by overwriting the .Traceback variable which is currently stored in the base namespace:

stop("Hammer Time!")
Error: Hammer Time!
traceback()
1: stop("Hammer Time!")
assign(".Traceback",NULL,"package:base")
traceback()
No traceback available

Be warned though:

It is undocumented where .Traceback is stored nor that it is visible, and this is subject to change.

Altri suggerimenti

you could always do this

 getOption(showWarnCalls, FALSE)
 getOption(showErrorCalls, FALSE)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top