[][src]Struct libzmq::Error

pub struct Error<T = ()> { /* fields omitted */ }

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),
    }
}

Implementations

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> Debug for Error<T>[src]

impl<T> Display for Error<T>[src]

impl<T> Error for Error<T>[src]

impl<T> From<AddrParseError> for Error<T>[src]

impl<T> From<Error<T>> for Error[src]

impl<T> From<GroupParseError> for Error<T>[src]

impl<T> From<Infallible> for Error<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Error<T> where
    T: RefUnwindSafe

impl<T> Send for Error<T> where
    T: Send

impl<T> Sync for Error<T> where
    T: Sync

impl<T> Unpin for Error<T> where
    T: Unpin

impl<T> UnwindSafe for Error<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,