Partager via


Gestion des erreurs dans Visual C++

Dans COM, la plupart des opérations retournent un code de retour HRESULT qui indique si une fonction s’est terminée correctement. La directive #import génère du code wrapper autour de chaque méthode ou propriété « brute » et vérifie le HRESULT retourné. Si HRESULT indique un échec, le code wrapper lève une erreur COM en appelant _com_issue_errorex() avec le code de retour HRESULT en tant qu’argument. Les objets d’erreur COM peuvent être interceptés dans un bloc try-catch. (Par souci d’efficacité, interceptez une référence à un objet _com_error.)

N’oubliez pas qu’il s’agit d’erreurs ADO : elles résultent de l’échec de l’opération ADO. Les erreurs retournées par le fournisseur sous-jacent apparaissent sous la forme d’objets Error dans la collection Errors de l’objet Connection.

La directive #import crée uniquement des routines de gestion des erreurs pour les méthodes et les propriétés déclarées dans le .dllADO . Toutefois, vous pouvez tirer parti de ce même mécanisme de gestion des erreurs en écrivant votre propre macro de vérification des erreurs ou fonction inline. Consultez la rubrique Extensions Visual C++ pour obtenir des exemples.