R, эквивалентный MATLAB "останавливается, если ошибка"

Я пытаюсь отлаживать R-программу, и мне очень не хватает возможности stop if error для matlab. Я прошел через R-debug-tools.pdf (mirror), но в нем ничего не было указано. Есть ли способ проинструктировать R, что при возникновении любой ошибки - даже той, которую я не ожидал и не планировал с помощью пользовательской функции trace - она ​​должна прекратить выполнение и бросить меня в browser() режим?

Ответ 1

Я считаю, что вы хотите options(error=recover)

Ответ 2

R имеет замечательный stopifnot(), который довольно близок к тому, что C имеет в assert():

Описание:

Если какое-либо из выражений в '... не является' all 'TRUE,' stop is    вызывающий, выдает сообщение об ошибке, указывающее первый из    элементы '... которые не были истинными.

Это из help(stopifnot), который также имеет примеры, как обычно.