Gestion des erreurs dans COM (COM)

Presque toutes les fonctions com et méthodes d’interface retournent une valeur de type HRESULT. Le HRESULT (le nom peut être lu en tant que « handle de résultat ») est un moyen de retourner une valeur de réussite, d’avertissement ou d’erreur. Un HRESULT n’est en fait pas un handle (voir Pourquoi HRESULT commence-t-il par H alors qu’il ne s’agit pas d’un handle pour quoi que ce soit ?) ; il s’agit simplement d’une valeur avec plusieurs champs encodés. Conformément à la spécification COM, un résultat égal à zéro indique la réussite, et un résultat différent de zéro indique l’échec.

Au niveau du code source, toutes les valeurs d’erreur se composent de trois parties, séparées par des traits de soulignement. La première partie est le préfixe qui identifie la fonctionnalité associée à l’erreur, la deuxième partie est E pour erreur et la troisième partie est une chaîne qui décrit la condition réelle. Par exemple, STG_E_MEDIUMFULL est retourné lorsqu’il n’y a plus d’espace sur un disque dur. Le préfixe STG indique l’installation de stockage, E indique que le code status représente une erreur et mediumFULL fournit des informations spécifiques sur l’erreur. La plupart des valeurs que vous souhaiterez peut-être retourner à partir d’une méthode ou d’une fonction d’interface sont définies dans Winerror.h.

Pour plus d’informations sur la gestion des erreurs, consultez les sections suivantes :

Codes d’erreur COM