Freigeben über


Behandeln von Fehlern in Visual C++

In COM geben die meisten Vorgänge einen HRESULT-Rückgabecode zurück, der angibt, ob eine Funktion erfolgreich abgeschlossen wurde. Die #import-Direktive generiert "Wrappercode" um jede „raw“-Methode oder -Eigenschaft und überprüft das zurückgegebene HRESULT. Wenn HRESULT einen Fehler anzeigt, löst der Wrapper-Code einen COM-Fehler aus, indem es _com_issue_errorex() mit dem HRESULT-Rückgabecode als Argument aufruft. COM-Fehlerobjekte können in einem try-catch--Block abgefangen werden. (Aus Effizienzgründen erfassen Sie einen Verweis auf ein _com_error-Objekt.)

Denken Sie daran, dass dies ADO-Fehler sind: Sie führen zu einem Fehler des ADO-Vorgangs. Fehler, die vom zugrunde liegenden Anbieter zurückgegeben werden, erscheinen als Error-Objekte in der Errors-Sammlung des Connection-Objekts.

Die #import-Direktive erstellt nur Fehlerbehandlungsroutinen für Methoden und Eigenschaften, die im ADO-.dlldeklariert sind. Sie können jedoch den gleichen Fehlerbehandlungsmechanismus nutzen, indem Sie Ihr eigenes Fehlerüberprüfungsmakro oder eine Inlinefunktion schreiben. Beispiele finden Sie im Thema Visual C++-Erweiterungen.