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...@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 <jdnew...@dcn.davis.ca.us>
>Sent: Thursday, June 23, 2022 12:53 AM
>To: r-help@r-project.org <r-help@r-project.org>; akshay kulkarni 
><akshay...@hotmail.com>; R help Mailing list <r-help@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...@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@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.

______________________________________________
R-help@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.

Reply via email to