Есть ли в R функция для проверки наличия ошибки в сценарии r или в журнале? - PullRequest
1 голос
/ 18 июня 2020

Я пытаюсь создать оператор if, чтобы проверить, есть ли какие-либо ошибки в моем сценарии R (или ошибки, отображаемые на консоли), а также файлы журнала, если в переменной должна быть «ошибка» и нет ли Не должно быть "ошибок нет" в той же переменной.

Я посмотрел на is.error (), но хочу проверить, отображается ли ошибка в консоли или файле журнала.

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Насколько мне известно, универсального решения не существует. Вы можете попробовать несколько вещей:

1) Включите ваш скрипт в свой код и используйте tryCatch или try, чтобы отловить любые ошибки. Более подробную информацию об обнаружении ошибок и отладке в R можно найти здесь .

2) Выполните свой скрипт в системной оболочке с помощью команды system и проверьте вывод, пойманный установкой intern=TRUE .

0 голосов
/ 18 июня 2020

Вы можете создать скрипт в новой среде:

testscript <- function(scriptpath) {
tryCatch({
          # Tests is the script runs without error
          source(scriptpath, local = new.env()) 
          message("Script OK")
         },
         error = function(cond){
           message('Script not OK')
           message(cond)
         })}

например, содержимое скрипта.R:

x <- 1
y <- 2

x + z
testscript('script.R')

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