Hi,
On Aug 3, 2009, at 11:53 AM, <mau...@alice.it> wrote:
Sometimes the following function call causes a database exception:
gene.seq <- getSequence (id=gene.map[,"ensembl_transcript_id"],
type="ensembl_transcript_id",
+ seqType="3utr", mart=hmart)
I understand the above function must be called by try to capture the
eventual error.
WHat is not clear to me is how to realize that an error has
occurred. The on-line documentation
mentions an invisible object of class "try-error".
How shall I test whetehr such object has been created or not ?
I assume it is created whenever an error does occur ....?
By "invisible" object, the documentation is saying that it's returning
an object via the "invisible" function (see ?invisible). The object is
no longer invisible if the function is called and the return value is
assigned to a variable: which you are doing in your case.
In your case, you just have to check to see if the object returned by
getSequence is a (or inherits from) the "try-error" class. The last
line of the help in ?try actually shows you how to do that. Here's a
simpler example:
R> m <- matrix(1:100, 10, 10)
R> a <- try(m[,5]) # no error
R> a
[1] 41 42 43 44 45 46 47 48 49 50
R> b <- try(m[,11]) # error here
b
[1] "Error in try(m[, 11]) : subscript out of bounds\n"
attr(,"class")
To programmatically test if b is an error:
R> is(b, 'try-error')
[1] TRUE
R> > inherits(b, 'try-error') # used in last line of ?try
[1] TRUE
-steve
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
______________________________________________
R-help@r-project.org 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.