Я пытаюсь отлаживать 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)
, который также имеет примеры, как обычно.