Несколько лет назад у меня были смутные воспоминания о возврате информации об ошибках при вызовах функций COM.COM-функции не должны возвращать исключения.Факт, что произошла ошибка в функции COM, сигнализируется возвращаемым значением.S_OK (0) означало успех.отрицательные числа означали провал.Вы можете использовать разные отрицательные числа для передачи основных типов ошибок, однако для получения более конкретной информации об ошибках вам необходимо было реализовать интерфейс IErrorInfo для объекта COM.
После этого Visual Basic 6 и Visual Studio 2000 обрабатывали COMошибки в Visual Basic, однако более ранние версии VBA этого не сделали.
Если кто-то использовал COM намного позже, он вполне может заполнить детали и исправить то, что моя память затуманилась за эти годы.
Меня поражает, что реализация нового кода-обертки COM, переводящего исключения в документированные ошибки COM, не будет простой общей вещью, и что создание версии с ручным кодированием может быть выполнено, но, опять же, вам нужно понимать COMпрограммирование.
Редизайн ваших объектов .NET, чтобы они сообщали подробности ошибок, вызывая ваш метод getlasterror () в вашем объекте, был бы разумным обходным путем.