[R] Stopping all code execution when ANY error occurs (OR error handling without try/tryCatch)
Henrik Singmann
henrik.singmann at psychologie.uni-freiburg.de
Mon Aug 13 09:03:16 CEST 2012
Hi Phil,
I really have to concur with Uwe Ligges here. You probably want to wrap
everything in a function. Because usually this is where long lines of
code will end up.
The browser() function makes this option really useful, as you can step
inside the temporary environment and work from there as if you are in
the global environment with the added benefits that all your variables
will be gone when you exit the execution, so you start with a new blank
environment the next time you call the function. And if you put the
browser call to the botton of your functions, any error before will halt
execution.
The downsites are, that you need to execute the function code each time
you make changes to the function prior to rerunning it. But IDEs will
help on this by sourcing a function qith simple keystrokes (e.g., C-c
C-f in ESS-Emacs). However, if there is a syntax error, the original
problem remains.
An alternative to browser() is to use options(error = recover) when
working with functions. It is also extremely helpful, as it brings you
to the point of the function where the error occurs to work from there.
Give it a try.
BTW, I got the info with browser(error = recover) from the Chambers
book: Sofwtare for Data analysis. It is worth a buy.
Cheers,
Henrik
enocko schrieb:
> Hi, thanks for the ideas, folks.
>
> I'm on Windows 7, R 2.15.0 x64, RStudio 0.97.71.
>
> I do appreciate your time... I would like to say my goal of dealing with
> errors without R's error trapping tools is not nonsensical given that those
> tools are cumbersome and not well-suited to the development phase of coding
> where one informally runs various snippets all the time.
>
> The suggestion of looking at IDE's is a good one because it would not be
> hard for an IDE to just wait and see if any line of code gives an error, and
> halt execution if so (a global option could enable this). RStudio doesn't
> have this--does anyone know of something that does? I can post a suggestion
> to RStudio.
>
> Thanks,
>
> Phil
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Stopping-all-code-execution-when-ANY-error-occurs-OR-error-handling-without-try-tryCatch-tp4640023p4640073.html
> Sent from the R help mailing list archive at Nabble.com.
>
--
Dipl. Psych. Henrik Singmann
PhD Student
Albert-Ludwigs-Universität Freiburg, Germany
http://www.psychologie.uni-freiburg.de/Members/singmann
More information about the R-help
mailing list