Enum parquet_format_safe::thrift::Error
source · pub enum Error {
Transport(TransportError),
Protocol(ProtocolError),
Application(ApplicationError),
}Expand description
Error type returned by all runtime library functions.
thrift::Error is used throughout this crate as well as in auto-generated
Rust code. It consists of four variants defined by convention across Thrift
implementations:
Transport: errors encountered while operating on I/O channelsProtocol: errors encountered during runtime-library processingApplication: errors encountered within auto-generated codeUser: IDL-defined exception structs
The Application variant also functions as a catch-all: all handler errors
are automatically turned into application errors.
All error variants except Error::User take an eponymous struct with two
required fields:
kind: variant-specific enum identifying the error sub-typemessage: human-readable error info string
kind is defined by convention while message is freeform. If none of the
enumerated kinds are suitable use Unknown.
To simplify error creation convenience constructors are defined for all
variants, and conversions from their structs (thrift::TransportError,
thrift::ProtocolError and thrift::ApplicationError into thrift::Error.
Variants§
Transport(TransportError)
Errors encountered while operating on I/O channels.
These include connection closed and bind failure.
Protocol(ProtocolError)
Errors encountered during runtime-library processing.
These include message too large and unsupported protocol version.
Application(ApplicationError)
Errors encountered within auto-generated code, or when incoming or outgoing messages violate the Thrift spec.
These include out-of-order messages and missing required struct fields.
This variant also functions as a catch-all: errors from handler
functions are automatically returned as an ApplicationError.
Implementations§
source§impl Error
impl Error
sourcepub fn read_application_error_from_in_protocol<T: TInputProtocol>(
i: &mut T
) -> Result<ApplicationError>
pub fn read_application_error_from_in_protocol<T: TInputProtocol>( i: &mut T ) -> Result<ApplicationError>
Create an ApplicationError from its wire representation.
Application code should never call this method directly.
sourcepub fn write_application_error_to_out_protocol(
e: &ApplicationError,
o: &mut dyn TOutputProtocol
) -> Result<()>
pub fn write_application_error_to_out_protocol( e: &ApplicationError, o: &mut dyn TOutputProtocol ) -> Result<()>
Convert an ApplicationError into its wire representation and write
it to the remote.
Application code should never call this method directly.