[Rd] re-throwing an interrupt condition

Gábor Csárdi c@@rdi@g@bor @ending from gm@il@com
Sat Jul 28 19:51:11 CEST 2018


Good points. In my case I also want to add an extra class to the
condition, before re-throwing it.
Sorry, this was not clear in my first email, I actually just realized it now.

Gabor
On Sat, Jul 28, 2018 at 6:43 PM <luke-tierney using uiowa.edu> wrote:
>
> On Sat, 28 Jul 2018, Gábor Csárdi wrote:
>
> > I don't want to return a value, I want to interrupt the computation,
> > that's why I need to re-throw .
> > But before getting back to the user I want to run some cleanup code.
>
> If it is just cleanup you want then a finally clause or on.exit should
> do, and will cover all form of non-local transfer of control.
>
> Best,
>
> luke
>
> >
> > G.
> > On Sat, Jul 28, 2018 at 5:59 PM Iñaki Úcar <i.ucar86 using gmail.com> wrote:
> >>
> >> El sáb., 28 jul. 2018 a las 18:30, Gábor Csárdi
> >> (<csardi.gabor using gmail.com>) escribió:
> >>>
> >>> Anyone knows a way to re-throw a caught interrupt condition, so that
> >>> it behaves just like the original one? I.e. no error message is
> >>> printed, but the execution is stopped of course. With just calling
> >>> stop in the error handler, it prints the error message, or, if there
> >>> is no error message (like in the original interrupt condition),
> >>> another error happens.
> >>>
> >>> tryCatch(Sys.sleep(100), interrupt = function(e) {  e$message <-
> >>> "interrupted"; stop(e) } )
> >>> <press CTRL + C / ESC here>
> >>> #> Error: interrupted
> >>>
> >>> tryCatch(Sys.sleep(100), interrupt = function(e) stop(e))
> >>> <press CTRL + C / ESC here>
> >>> #> Error in stop(e) : bad error message
> >>
> >> Sorry, I probably misunderstood your intention, but... simply by not
> >> calling stop at all? This is what I see:
> >>
> >>> tryCatch(Sys.sleep(100), interrupt = function(e) do_something <<- 1)
> >> <press CTRL + C / ESC here>
> >> ^C>
> >>> do_something
> >> [1] 1
> >>
> >> Iñaki
> >
> > ______________________________________________
> > R-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
>
> --
> Luke Tierney
> Ralph E. Wareham Professor of Mathematical Sciences
> University of Iowa                  Phone:             319-335-3386
> Department of Statistics and        Fax:               319-335-3017
>     Actuarial Science
> 241 Schaeffer Hall                  email:   luke-tierney using uiowa.edu
> Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu



More information about the R-devel mailing list