В моем приложении пользователь вводит имя функции, и я пытаюсь вызвать его через два разных COM-интерфейса.Логика довольно проста:
- Попытка первого интерфейса
- Если это не сработает, попробуйте второй интерфейс
- Если это не сработает, отобразитесообщение об ошибке
В данный момент я пытался подавить потенциальные сообщения об ошибках из первого интерфейса, используя:
- try ()
- try (,silent = TRUE)
- tryCatch ()
- withCallingHandlers ()
- sink ()
- capture.output ()
- suppressMessages ()
- suppressWarnings ()
При возникновении ошибки на консоль выводятся две вещи:
checkErrorInfo ########
(некоторое число, которое означает что-то) - Сообщение об ошибке
Все перечисленные выше подходы могут перехватить / подавить сообщение об ошибке, но ничто не коснется сообщения checkErrorInfo
.Я также искал репозиторий RDCOMClient на GitHub, но нигде не вижу эту фразу.Я предполагаю, что это генерируется непосредственно COM.
Во всяком случае, я думаю, что я попробовал все простые ответы.Если это просто невозможно подавить, я решу, жить ли с сообщением или заставить пользователя указать, какой интерфейс использовать (не идеально - я бы хотел сделать его максимально простым).
Заранее спасибо за помощь!