Я хочу, чтобы функция выдавала ошибку в блоке try
, если выполняется условие, и выводила один из входов без каких-либо изменений в случае этой ошибки.Обратите внимание, что я не хочу создавать вывод списка или что-то еще, так как мне нужно иметь согласованный вывод.У меня вопрос, как я могу проверить, что ошибка возникает для некоторых значений, используя testthat
?Например, для приведенной ниже функции:
myfunc = function(x,y){
try({
if(x<0)
stop("Negative X")
y = y+x
})
return(y)
}
Я хочу проверить и убедиться, что ошибка возникает для x = -1:
Я пробовал:
library(testthat)
expect_error(myfunc(-1,2))
Но я получаю:
Error in try({ : Negative X
Error: `myfunc(-1, 2)` did not throw an error.