eykanal
eykanal

Reputation: 27017

R equivalent to MATLAB's "stop if error"

I'm attempting to debug an R program, and I'm sorely missing the stop if error capability of matlab. I've gone through the R-debug-tools.pdf (mirror) documentation, but it didn't list anything like this. Is there any way to instruct R that, when any error at all is encountered - even one I didn't anticipate and plan for with a custom trace function - it should stop execution and throw me into browser() mode?

Upvotes: 18

Views: 6224

Answers (2)

Ben Bolker
Ben Bolker

Reputation: 226087

I believe you want options(error=recover)

Upvotes: 19

Dirk is no longer here
Dirk is no longer here

Reputation: 368201

R has the wonderful stopifnot() which is pretty close to what C has in assert():

Description:

If any of the expressions in ‘...’ are not ‘all’ ‘TRUE’, ‘stop’ is called, producing an error message indicating the first of the elements of ‘...’ which were not true.

That is from help(stopifnot) which also has examples, as usual.

Upvotes: 5

Related Questions