>>>>> "Duncan" == Duncan Murdoch <[EMAIL PROTECTED]> >>>>> on Sat, 26 May 2007 08:02:11 -0400 writes:
Duncan> On 26/05/2007 7:13 AM, Heinz Tuechler wrote: >> Dear All, >> >> To check if an url exists, I can use try(). This works, as I expected, if I >> do it directly, as in the first part of the following example, but I could [..........] Duncan> .Last.value isn't set until your function returns. You should write this as Duncan> con.url <- try(url(url.string, open='rb')) Duncan> try.error <- inherits(con.url, "try-error") Duncan> Notice that I used "inherits", rather than testing for equality. It's Duncan> documented that the result of try() will be "of class 'try-error'" if an Duncan> error occurs, but there may be circumstances (in the future?) where Duncan> different types of errors are signalled by using a more complicated class. There's an additional reason for inherits(.,.) and hence against class(<foo>) == "bar" : Whenever try() does not catch an error, since there was none, i.e., the result of try(foobar(..)) is just foobar(..), foobar(..) may well return an object with an (S3) class vector of length > 1. In those cases, the equality test returns a logical vector, typically c(FALSE, FALSE) and using that in if(.....) gives at least a warning. Martin ______________________________________________ R-help@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.