public sealed class ErrorInfo : IMessage<ErrorInfo>, IEquatable<ErrorInfo>, IDeepCloneable<ErrorInfo>, IBufferMessage, IMessage
Describes the cause of the error with structured details.
Example of an error when contacting the "pubsub.googleapis.com" API when it
is not enabled:
{ "reason": "API_DISABLED"
"domain": "googleapis.com"
"metadata": {
"resource": "projects/123",
"service": "pubsub.googleapis.com"
}
}
This response indicates that the pubsub.googleapis.com API is not enabled.
Example of an error that is returned when attempting to create a Spanner
instance in a region that is out of stock:
{ "reason": "STOCKOUT"
"domain": "spanner.googleapis.com",
"metadata": {
"availableRegions": "us-central1,us-east2"
}
}
Inheritance
object >
ErrorInfo
Namespace
Google.Rpc
Assembly
Google.Api.CommonProtos.dll
Constructors
ErrorInfo()
ErrorInfo(ErrorInfo)
public ErrorInfo(ErrorInfo other)
Fields
DomainFieldNumber
public const int DomainFieldNumber = 2
Field number for the "domain" field.
Field Value |
Type |
Description |
int |
|
public const int MetadataFieldNumber = 3
Field number for the "metadata" field.
Field Value |
Type |
Description |
int |
|
ReasonFieldNumber
public const int ReasonFieldNumber = 1
Field number for the "reason" field.
Field Value |
Type |
Description |
int |
|
Properties
Descriptor
public static MessageDescriptor Descriptor { get; }
Domain
public string Domain { get; set; }
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".
Property Value |
Type |
Description |
string |
|
public MapField<string, string> Metadata { get; }
Additional structured details about this error.
Keys should match /[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, rather than
{"instanceLimit": "100/request"}, should be returned as,
{"instanceLimitPerRequest": "100"}, if the client exceeds the number of
instances that can be created in a single (batch) request.
Parser
public static MessageParser<ErrorInfo> Parser { get; }
Reason
public string Reason { get; set; }
The reason of the error. 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.
Property Value |
Type |
Description |
string |
|
Methods
CalculateSize()
public int CalculateSize()
Returns |
Type |
Description |
int |
|
Clone()
Equals(ErrorInfo)
public bool Equals(ErrorInfo other)
Returns |
Type |
Description |
bool |
|
Equals(object)
public override bool Equals(object other)
Parameter |
Name |
Description |
other |
object
|
Returns |
Type |
Description |
bool |
|
Overrides
GetHashCode()
public override int GetHashCode()
Returns |
Type |
Description |
int |
|
Overrides
public void MergeFrom(CodedInputStream input)
MergeFrom(ErrorInfo)
public void MergeFrom(ErrorInfo other)
ToString()
public override string ToString()
Returns |
Type |
Description |
string |
|
Overrides
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)