[−][src]Struct libzmq::Error
An error with a kind and a msg.
An Error
contains a ErrorKind
which gives context on the error cause,
as well as an Option<T>
which may be used to prevent the loss of data
in case of a failed send
function call. When no T
is specified, it
defaults to ()
.
Usage example
use libzmq::{prelude::*, *, ErrorKind::*}; // This client has no peer and is therefore in mute state. let client = Client::new()?; // This means that the following call would block. if let Err(mut err) = client.try_send("msg") { match err.kind() { // This covers all the possible error scenarios for this socket type. // Normally we would process each error differently. WouldBlock | InvalidCtx | Interrupted => { // Here we get back the message we tried to send. let msg = err.take().unwrap(); assert_eq!("msg", msg.to_str()?); } // Since `ErrorKind` is non-exhaustive, need an // extra wildcard arm to account for potential future variants. _ => panic!("unhandled error : {}", err), } }
Methods
impl<T> Error<T>
[src]
pub fn kind(&self) -> ErrorKind
[src]
Returns the kind of error.
pub fn content(&self) -> Option<&T>
[src]
Deprecated since 0.2.1:
please use get
instead
pub fn get(&self) -> Option<&T>
[src]
Returns a reference to the content held by the error.
pub fn take_content(&mut self) -> Option<T>
[src]
Deprecated since 0.2.1:
please use take
instead
pub fn take(&mut self) -> Option<T>
[src]
Takes the content held by the error, if any, replacing with None
.
pub fn cast<I>(self) -> Error<I>
[src]
This allows casting to any Error<I>
by replacing the content
of the error with None
.
This is not implemented as Into<Error<I>>
to be explicit since
information is lost in the conversion.
Trait Implementations
impl<T> From<GroupParseError> for Error<T>
[src]
fn from(_error: GroupParseError) -> Self
[src]
impl<T> From<AddrParseError> for Error<T>
[src]
fn from(error: AddrParseError) -> Self
[src]
impl<T> From<Infallible> for Error<T>
[src]
fn from(_error: Infallible) -> Self
[src]
impl<T> From<Error<T>> for Error
[src]
impl<T> Display for Error<T>
[src]
impl<T: Debug> Debug for Error<T>
[src]
impl<T> Fail for Error<T> where
T: 'static + Debug + Sync + Send,
[src]
T: 'static + Debug + Sync + Send,
Auto Trait Implementations
impl<T> Unpin for Error<T> where
T: Unpin,
T: Unpin,
impl<T> Sync for Error<T> where
T: Sync,
T: Sync,
impl<T> Send for Error<T> where
T: Send,
T: Send,
impl<T = ()> !UnwindSafe for Error<T>
impl<T = ()> !RefUnwindSafe for Error<T>
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsFail for T where
T: Fail,
[src]
T: Fail,
impl<E> Fail for E where
E: 'static + Error + Send + Sync,
[src]
E: 'static + Error + Send + Sync,