tryCatch с функцией, которая использует try внутренне, не перехватывает ошибку - PullRequest
0 голосов
/ 03 декабря 2018

Я заметил, что tryCatch функция (может быть функцией из библиотеки, которая не может изменять исходный код), которая уже защищена попыткой, на самом деле не улавливает ошибку.В результате я в конечном итоге проверяю «try-error» после каждого неопределенного tryCatch.Любые комментарии, если есть обходной путь, который я пропускаю?

Воспроизводимый пример, где foo при сбое - это объект try-error вместо -1 или -2, как я надеюсь на:

foo <- tryCatch({
  try(notTheDroidzYouAreLookingFor())
}, warning = function(w) {
  print("zwarning")
  -2
}, error = function(e) {
  print("zerror")
  -1
})
print(foo)
# ending up doing following all the time
if (inherits(foo, "try-error")) {
  print("tryCatching a try and then checking for try-error makes jack a dull boy")
  foo <- -3
}
print(foo)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...