[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