[Rd] re-throwing an interrupt condition

Iñaki Úcar i@uc@r86 @ending from gm@il@com
Sat Jul 28 18:59:43 CEST 2018


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



More information about the R-devel mailing list