Class ErrorInfo (2.2.0)

public sealed class ErrorInfo : Protobuf.IMessage<ErrorInfo>, Protobuf.IBufferMessage

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()

public ErrorInfo()

ErrorInfo(ErrorInfo)

public ErrorInfo(ErrorInfo other)
Parameter
NameDescription
otherErrorInfo

Fields

DomainFieldNumber

public const int DomainFieldNumber = 2

Field number for the "domain" field.

Field Value
TypeDescription
Int32

MetadataFieldNumber

public const int MetadataFieldNumber = 3

Field number for the "metadata" field.

Field Value
TypeDescription
Int32

ReasonFieldNumber

public const int ReasonFieldNumber = 1

Field number for the "reason" field.

Field Value
TypeDescription
Int32

Properties

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

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
TypeDescription
String

Metadata

public Protobuf.Collections.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.

Property Value
TypeDescription
Protobuf.Collections.MapField<String, String>

Parser

public static Protobuf.MessageParser<ErrorInfo> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<ErrorInfo>

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-Z0-9_]+/.

Property Value
TypeDescription
String

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public ErrorInfo Clone()
Returns
TypeDescription
ErrorInfo

Equals(ErrorInfo)

public bool Equals(ErrorInfo other)
Parameter
NameDescription
otherErrorInfo
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

MergeFrom(ErrorInfo)

public void MergeFrom(ErrorInfo other)
Parameter
NameDescription
otherErrorInfo

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream