Я пытаюсь отлаживать R-программу, и мне очень не хватает возможности stop if error для matlab. Я прошел через R-debug-tools.pdf (mirror), но в нем ничего не было указано. Есть ли способ проинструктировать R, что при возникновении любой ошибки - даже той, которую я не ожидал и не планировал с помощью пользовательской функции trace - она должна прекратить выполнение и бросить меня в browser() режим?
R, эквивалентный MATLAB "останавливается, если ошибка"
Ответ 1
Я считаю, что вы хотите options(error=recover)
Ответ 2
R имеет замечательный stopifnot(), который довольно близок к тому, что C имеет в assert():
Описание:
Если какое-либо из выражений в '... не является' all 'TRUE,' stop is вызывающий, выдает сообщение об ошибке, указывающее первый из элементы '... которые не были истинными.
Это из help(stopifnot), который также имеет примеры, как обычно.
