[R] determining a parent function name

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Thu May 31 21:23:38 CEST 2007


Thanks for the input. I don't think this will help either since it still 
requires you know the error occurred in foo. I settled on passing the 
call to error:

error <- function(..., call) {}

foo <- function()
   error("some error", call = match.call())

Thanks,

--sundar

Martin Morgan said the following on 5/31/2007 7:51 AM:
> Hi sundar --
> 
> maybe
> 
>> myerr <- function(err) err$call
>> foo <- function() stop()
>> tryCatch({ foo() }, error=myerr)
> foo()
> 
> suggests a way to catch errors without having to change existing code
> or re-invent stop?
> 
> Martin
> 
> 
> Sundar Dorai-Raj <sundar.dorai-raj at pdf.com> writes:
> 
>> Hi, Vladimir,
>>
>> Sorry, didn't see this reply. .Traceback <- NULL doesn't work because of 
>> the warning in ?traceback.
>>
>> Warning:
>>
>>       It is undocumented where '.Traceback' is stored nor that it is
>>       visible, and this is subject to change.  Prior to R 2.4.0 it was
>>       stored in the workspace, but no longer.
>>
>> Thanks,
>>
>> --sundar
>>
>> Vladimir Eremeev said the following on 5/31/2007 5:10 AM:
>>>
>>> Vladimir Eremeev wrote:
>>>> Does
>>>>   tail(capture.output(traceback()),n=1)
>>>> do what you want?
>>>>
>>>> that is 
>>>>
>>> Hmmm... Seems, no...
>>>
>>> Having the earlier error() definition and
>>>
>>> bar<-function() error("asdasdf")
>>> ft<-function() bar()
>>>
>>>
>>>
>>>> ft()
>>> I get in the tcl/tk window:
>>>
>>> Error in bar(): asdasdf
>>>
>>>> bar()
>>> I get in the tcl/tk window:
>>>
>>> Error in ft(): asdasdf
>>>
>>>> I get in the tcl/tk window:
>>> Error in bar(): asdasdf
>>>
>>> Some kind of the stack flushing is needed.
>>> .Traceback<-NULL did not help
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list