2016-04-18 1 views
1

Когда я использую rmarkdown::render скомпилировать следующий код в HTML,Как получить сообщение об ошибке в try() с помощью rmarkdown?

```{r, error=T} 
setClass('A', slots=c()) 
try(setClass('A', slots=c())) 
``` 

я обнаружил, что нет никакого сообщения об ошибке отображается в HTML-файл для второй команды, вместо этого он печатается в командной строке. Кто-нибудь знает, чтобы сообщение об ошибке было напечатано в html-файле? Благодарю.

ответ

0

здесь 2 способа, чтобы напечатать сообщение об ошибке

```{r, error=T} 
setClass('A', slots=c()) 

#method 1 
temp <- try(setClass('A', slots=c())) 
message(temp) 

#method 2 
try(setClass('A', slots=c())) 
message(geterrmessage()) 
``` 

обнаружил, что 2 метода из Подробности раздела в ?try

попытка вычисляет выражение и улавливает все ошибки, которые возникают во время оценки. Если возникает ошибка, тогда сообщение об ошибке печатается на соединение stderr, если параметры («show.error.messages») не являются ложными или вызов включает в себя silent = TRUE. Сообщение об ошибке также сохраняется в буфере, где его можно получить с помощью geterrmessage. (Это должно быть не требуется, поскольку значение, возвращаемое в случае ошибки, содержит сообщение об ошибке .)

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