2013-04-03 4 views
1

Я пытаюсь получить контроль над обработкой исключений в R или обработкой исключений в целом.R и обработка ошибок

Я нашел this post, который был полезен в первую очередь. Но теперь я не знаю, как мне решать конкретную проблему. Предположим, у нас есть список переменных, и я хочу, чтобы пользователь выбирал (через svDialogs) один из них.

require(svDialogs) 
var<-c("A","B","C","D") 
var1<-dlgList(var,multiple=FALSE)$res 

Если пользователь не выберет ничего, либо попадает cancel R возвращает пустую строку символов. Я хочу запрограммировать ошибку, если это произойдет и выйдет из программы. Как я могу это достичь? Спасибо заранее.

+0

'if (length (var1) == 0) stop (« Мое сообщение об ошибке ») – Andrie

+0

thx, я подумал, что, возможно, я мог бы сделать это с помощью TryCatch', чтобы избежать' if'-statements – rainer

+0

Нет ошибки, просто пустая строка, поэтому 'tryCatch' не помогает. – Andrie

ответ

2

Чтобы бросить ошибку, сделать некоторые пользовательские проверки, а затем использовать stop():

Например:

if(length(var1)==0) stop("My error message) 

Поскольку исходный код не содержит ошибок, просто пустая строка, tryCatch или любой другой механизм обнаружения ошибок не поможет в вашем случае.

Смежные вопросы