dear Jeff,
Thanks a lot for the informative reply....
Yours sinecrely,
AKSHAY M KULKARNI
________________________________
From: Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
Sent: Thursday, June 23, 2022 1:25 AM
To: akshay kulkarni <akshay_e4 at hotmail.com>; r-help at r-project.org
<r-help at r-project.org>
Subject: Re: [R] inconsistency in tryCatch...
I don't think it is at all idiosyncratic... tryCatch doesn't expect the
first argument to be a function... it is supposed to be the actual code that
might break and raise an error.
There are lots of functions (like lapply) that do expect you to provide a
function, and even the other parameters to tryCatch expect a function, but you
would not write a for loop and have a function definition in the body of the
loop and expect the for loop to know it was supposed to call that function,
would you? Think of tryCatch like a for loop or an if statement.
On June 22, 2022 12:36:27 PM PDT, akshay kulkarni <akshay_e4 at
hotmail.com> wrote:>Dear Jeff,
> Thanks! I think it is an idiosyncrasy of tryCatch? The other
arguments like "error" doesn't need to be assigned to a call
right? Just the definition would be sufficient, i think?
>
>Yours sincerely,
>AKSHAY M KULKARNI
>________________________________
>From: Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
>Sent: Thursday, June 23, 2022 12:53 AM
>To: r-help at r-project.org <r-help at r-project.org>; akshay kulkarni
<akshay_e4 at hotmail.com>; R help Mailing list <r-help at
r-project.org>
>Subject: Re: [R] inconsistency in tryCatch...
>
>You defined a function. You did not call the function. tryCatch returned the
object you defined. So the interactive console printed the object returned.
>
>Invoking the "function" function does not call the defined
function for you. Try:
>
>tryCatch((function() print("fred"))(), error = function(e)
sum(1:3), finally = sum(1:3))
>
>On June 22, 2022 12:00:38 PM PDT, akshay kulkarni <akshay_e4 at
hotmail.com> wrote:
>>Dear members,
>> I have the following code:
>>
>> > tryCatch(function() print("fred"), error =
function(e) sum(1:3), finally = sum(1:3))
>> function() print("fred")
>>
>>The expected output from the tryCatch call should be to print
"fred" to the console, and exit, but as seen above, it is outputting
>> function() print("fred")
>>
>>Can you people please shed some light on what is happening?
>>
>>thanking you,
>>Yours sincerely,
>>AKSHAY M KULKARNI
>>
>> [[alternative HTML version deleted]]
>>
>>______________________________________________
>>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>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.
>
>--
>Sent from my phone. Please excuse my brevity.
--
Sent from my phone. Please excuse my brevity.
[[alternative HTML version deleted]]