[R] help with tryCatch
Henrik Bengtsson
hb at stat.berkeley.edu
Wed Feb 14 02:50:00 CET 2007
Put the for loop outside the tryCatch(). /H
On 2/13/07, Stephen Bond <sje at mast.queensu.ca> wrote:
> Henrik,
>
> thank you for the reference. Can you please tell me why the following
> does not work?
>
> vec=c("hdfhjfd","jdhfhjfg") # non-existent file names
> catch=function(vec){
> tryCatch({
> ans =NULL;err=NULL;
> for (i in vec) {
> source(i)
> ans=c(ans,i)
> }
> },
> interrupt=function(ex){print(ex)},
> error=function(er){
> print(er)
> cat(i,"\n")
> err=c(err,i)
> },
> finally={
> cat("finish")
> }
> ) #tryCatch
> }
>
> catch(vec) # throws an error after the first file and stops there while
> I want it to go through the list and accumulate the nonexistent
> filenames in err.
>
> Thank you
> Stephen
>
> Henrik Bengtsson wrote:
>
> > Hi,
> >
> > google "R tryCatch example" and you'll find:
> >
> > http://www.maths.lth.se/help/R/ExceptionHandlingInR/
> >
> > Hope this helps
> >
> > Henrik
> >
> > On 2/13/07, Stephen Bond <sje at mast.queensu.ca> wrote:
> >
> >> Henrik,
> >>
> >> I had looked at tryCatch before posting the question and asked the
> >> question because the help file was not adequate for me. Could you pls
> >> provide a sample code of
> >> try{ try code}
> >> catch(error){catch code}
> >>
> >> let's say you have a vector of local file names and want to source them
> >> encapsulating in a tryCatch to avoid the skipping of all good file names
> >> after a bad file name.
> >>
> >> thank you
> >> stephen
> >>
> >>
> >> Henrik Bengtsson wrote:
> >>
> >> > See ?tryCatch. /Henrik
> >> >
> >> > On 2/12/07, Stephen Bond <sje at mast.queensu.ca> wrote:
> >> >
> >> >> Could smb please help with try-catch encapsulating a function for
> >> >> downloading. Let's say I have a character vector of symbols and
> >> want to
> >> >> download each one and surround by try and catch to be safe
> >> >>
> >> >> # get.hist.quote() is in library(tseries), but the question does not
> >> >> depend on it, I could be sourcing local files instead
> >> >>
> >> >> ans=null;error=null;
> >> >> for ( sym in sym.vec){
> >> >> try(ans=cbind(ans,get.hist.quote(sym,start=start))) #accumulate in
> >> a zoo
> >> >> matrix
> >> >> catch(theurlerror){error=c(error,sym)} #accumulate failed symbols
> >> >> }
> >> >>
> >> >> I know the code above does not work, but it conveys the idea.
> >> tryCatch
> >> >> help page says it is similar to Java try-catch, but I know how to
> >> do a
> >> >> try-catch in Java and still can't do it in R.
> >> >>
> >> >> Thank you very much.
> >> >> stephen
> >> >>
> >> >> ______________________________________________
> >> >> R-help at 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.
> >> >>
> >>
>
More information about the R-help
mailing list