R эквивалентно MATLAB "остановить, если ошибка" - PullRequest
16 голосов
/ 20 января 2012

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

Ответы [ 2 ]

18 голосов
/ 20 января 2012

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

5 голосов
/ 20 января 2012

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

Описание:

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

То есть от help(stopifnot), в котором, как обычно, также есть примеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...