[R] How to extract the error flag from 'try'

Duncan Murdoch murdoch.duncan at gmail.com
Thu Oct 3 15:20:00 CEST 2013


On 03/10/2013 9:09 AM, Dimitri Liakhovitski wrote:
> Thank you very much!
> inherits(res, "try-error") is what I was looking for!

I would have expected to see this in the ?try examples section, but it's 
really hidden.  I'll look into making it more obvious.

Duncan Murdoch

>
>
> On Thu, Oct 3, 2013 at 9:07 AM, Gabor Grothendieck
> <ggrothendieck at gmail.com>wrote:
>
> > On Thu, Oct 3, 2013 at 8:57 AM, Dimitri Liakhovitski
> > <dimitri.liakhovitski at gmail.com> wrote:
> > > Hello!
> > >
> > > I need to flag my operation as an error if it produces an error.
> > >
> > > For example, this expression produces an error:
> > > test<-try(log("a"))
> > > str(test)
> > >
> > > However, how can I proceed using the information contained in test
> > object?
> > > I am looking for something like:
> > > if test is an error {do this and this}
> > > But I am not sure how to do it.
> > >
> > > I tried:
> > >
> > > class(test) %in% "try_error"
> > >
> >
> > Try this code:
> >
> > > res <- try(log("a"))
> > Error in log("a") : non-numeric argument to mathematical function
> > > if (inherits(res, "try-error")) cat(attr(res, "condition")$message, "\n")
> > non-numeric argument to mathematical function
> >
> > --
> > Statistics & Software Consulting
> > GKX Group, GKX Associates Inc.
> > tel: 1-877-GKX-GROUP
> > email: ggrothendieck at gmail.com
> >
>
>
>



More information about the R-help mailing list