See ?try which links you to ?tryCatch for the preferred approach. Alternatively: if(inherits(e, "try-error")) .... ## should work and satisfy CRAN
-- Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Sun, Dec 15, 2019 at 6:21 AM Hans W Borchers <hwborch...@gmail.com> wrote: > I have been informed by CRAN administrators that the development > version of R issues warnings for my package(s). Some are easy to mend > (such as Internet links not working anymore), but this one I don't > know how to avoid: > > Error in if (class(e) == "try-error") { : the condition has length > 1 > > I understand that `class` can return more than one value. But what > would be the appropriate way to catch an error in a construct like > this: > > e <- try(b <- solve(a), silent=TRUE) > if (class(e) == "try-error") { > # ... do something > } > > Should I instead compare the class with "matrix" or "array" (or > both)?. That is, in each case check with a correct result class > instead of an error? > > Thanks, HW > > ______________________________________________ > 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. > [[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.