Поделиться через


Обработка ошибок в Visual C++

В COM большинство операций возвращают код возврата HRESULT, указывающий, успешно ли выполнена функция. Директива #import создает код оболочки вокруг каждого метода или свойства raw и проверяет возвращенный HRESULT. Если HRESULT указывает на сбой, код-оболочка вызывает ошибку COM путем вызова _com_issue_errorex() с кодом возврата HRESULT в качестве аргумента. Объекты ошибок COM можно поймать в блоке try-catch. В целях повышения эффективности обработайте ссылку на объект _com_error.

Помните, что это ошибки ADO: они приводят к сбою операции ADO. Ошибки, возвращаемые базовым поставщиком, отображаются как объекты Ошибка в коллекции Ошибки объекта подключения .

Директива #import создает только подпрограммы обработки ошибок для методов и свойств, объявленных в .dllADO. Однако вы можете воспользоваться этим же механизмом обработки ошибок, написав собственный макрос проверки ошибок или встроенную функцию. Примеры см. в разделе "Расширения Visual C++".