[R] help with tryCatch

Henrik Bengtsson hb at stat.berkeley.edu
Wed Feb 14 02:51:44 CET 2007


To be more precise, put the tryCatch() only around the code causing
the problem, i.e. around source().  /H

On 2/13/07, Henrik Bengtsson <hb at stat.berkeley.edu> wrote:
> 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