The Status type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. Each
Status message contains three pieces of data: error code, error message,
and error details.
You can find out more about this error model and how to work with it in the
API Design Guide.
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
A developer-facing error message, which should be in English. Any
user-facing error message should be localized and sent in the
Statusdetails field, or localized by the client.