[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