IDataModelManager ::CreateErrorObject, méthode (dbgmodel.h)
La méthode CreateErrorObject crée un « objet d’erreur ». Le modèle de données n’a pas la notion d’exceptions et de flux d’exceptions. L’échec provient d’une propriété/méthode de deux manières :
Un seul HRESULT défaillant sans informations d’erreur étendues. Soit aucune autre information ne peut être donnée pour l’erreur, soit l’erreur elle-même est explicite à partir du HRESULT retourné.
Un seul HRESULT défaillant associé à des informations d’erreur étendues. Les informations d’erreur étendues sont un objet d’erreur retourné dans l’argument de sortie de la propriété/méthode.
Syntaxe
HRESULT CreateErrorObject(
HRESULT hrError,
PCWSTR pwszMessage,
IModelObject **object
);
Paramètres
hrError
Code d’erreur pour lequel les informations d’erreur étendues sont créées. Si une fonction donnée est l’entité qui crée un objet d’erreur pour un échec, ce code doit correspondre à l’erreur HRESULT retournée par la fonction.
pwszMessage
Message facultatif donnant une indication plus approfondie de ce qui a échoué et pourquoi. Ce message sera la conversion de chaîne d’affichage de l’objet d’erreur créé.
object
L’objet d’erreur nouvellement construit/boxé sera retourné ici.
Valeur retournée
Cette méthode retourne HRESULT.
Remarques
Exemple de Code
ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IModelObject> spError;
if (SUCCEEDED(spManager->CreateErrorObject(
E_INVALIDARG,
L"Calls to the Sum() method must pass at least one argument",
&spError)))
{
// You can pass this back in places where you see
// _COM_Errorptr_ annotated. Methods, for instance, may return
// E_INVALIDARG and an error object to channel out additional information.
// Property accessor GetValue implementations can also do this.
// Indexers can do this.
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |