This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
Returns
Type
Description
std::string const &
domain() const
The logical grouping to which the "reason" belongs.
The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
For errors generated by the C++ client libraries the domain is gcloud-cpp.
Returns
Type
Description
std::string const &
metadata() const
Additional structured details about this error.
Keys should match the regular expression [a-zA-Z0-9-_] and be limited to 64 characters in length.
When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, if the client exceeds the number of instances that can be created in a single (batch) request return {"instanceLimitPerRequest": "100"} rather than {"instanceLimit": "100/request"}.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThe provided content is a reference document for the \u003ccode\u003eErrorInfo\u003c/code\u003e class in the Google Cloud C++ client library, detailing its different versions and functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eErrorInfo\u003c/code\u003e class is used to describe the cause of an error, including the \u003ccode\u003ereason\u003c/code\u003e, \u003ccode\u003edomain\u003c/code\u003e, and \u003ccode\u003emetadata\u003c/code\u003e for structured error details.\u003c/p\u003e\n"],["\u003cp\u003eThere is a default constructor for \u003ccode\u003eErrorInfo\u003c/code\u003e and an alternate constructor to set the \u003ccode\u003ereason\u003c/code\u003e, \u003ccode\u003edomain\u003c/code\u003e, and \u003ccode\u003emetadata\u003c/code\u003e fields directly, which are detailed through parameter descriptions.\u003c/p\u003e\n"],["\u003cp\u003eThe document outlines functions such as \u003ccode\u003ereason()\u003c/code\u003e, \u003ccode\u003edomain()\u003c/code\u003e, and \u003ccode\u003emetadata()\u003c/code\u003e, which provide access to the respective error details.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate version of the documentation is \u003ccode\u003e2.37.0-rc\u003c/code\u003e, and there are references to previous versions going back to version \u003ccode\u003e2.10.1\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]