Spec-Zone.ru › Tokio

Структура JoinError

pub struct JoinError { /* private fields */ }
Доступно только при включённой функции crate feature rt.

Не удалось выполнить задачу до конца.

Реализации

impl JoinError

pub fn is_cancelled(&self) -> bool

Возвращает true, если ошибка возникла из-за отмены задачи.

Дополнительные сведения об отмене см. в документации на уровне модуля.

pub fn is_panic(&self) -> bool

Возвращает true, если ошибка возникла из-за паники в задаче.

Примеры
use std::panic;

#[tokio::main]
async fn main() {
    let err = tokio::spawn(async {
        panic!("boom");
    }).await.unwrap_err();

    assert!(err.is_panic());
}

pub fn into_panic(self) -> Box<dyn Any + Send + 'static>

Потребляет ошибку соединения и возвращает объект, вызвавший панику в задаче.

Паника

into_panic() вызывает панику, если Error не представляет завершение базовой задачи из-за паники. Используйте is_panic, чтобы проверить причину ошибки, или try_into_panic для варианта, который не вызывает панику.

Примеры
ⓘ
use std::panic;

#[tokio::main]
async fn main() {
    let err = tokio::spawn(async {
        panic!("boom");
    }).await.unwrap_err();

    if err.is_panic() {
        // Resume the panic on the main task
        panic::resume_unwind(err.into_panic());
    }
}

pub fn try_into_panic(self) -> Result<Box<dyn Any + Send + 'static>, JoinError>

Потребляет ошибку соединения и возвращает объект, вызвавший панику в задаче, если задача завершилась из-за паники. В противном случае возвращается self.

Примеры
ⓘ
use std::panic;

#[tokio::main]
async fn main() {
    let err = tokio::spawn(async {
        panic!("boom");
    }).await.unwrap_err();

    if let Ok(reason) = err.try_into_panic() {
        // Resume the panic on the main task
        panic::resume_unwind(reason);
    }
}

pub fn id(&self) -> Id

Возвращает идентификатор задачи, позволяющий отличить завершившуюся с ошибкой задачу от других задач, запущенных в данный момент.

Реализации трейтов

impl Debug for JoinError

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Форматирует значение с помощью указанного форматтера. Подробнее

impl Display for JoinError

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Форматирует значение с помощью указанного форматтера. Подробнее

impl Error for JoinError

1.30.0 ·

fn source(&self) -> Option<&(dyn Error + 'static)>

Возвращает источник этой ошибки более низкого уровня, если он есть. Подробнее
1.0.0 ·

fn description(&self) -> &str

👎Устарело с версии 1.42.0:

используйте реализацию Display или to_string()

Подробнее
1.0.0 ·

fn cause(&self) -> Option<&dyn Error>

👎Устарело с версии 1.33.0:

заменено на Error::source, который поддерживает приведение типов вниз по иерархии

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬Это экспериментальный API, доступный только в nightly-сборке. (error_generic_member_access)
Предоставляет доступ к контексту на основе типа для формирования сообщений об ошибках. Подробнее

impl From<JoinError> for Error

fn from(src: JoinError) -> Error

Преобразует входное значение в значение этого типа.

Автоматические реализации трейтов

impl !RefUnwindSafe for JoinError

impl !UnwindSafe for JoinError

impl Freeze for JoinError

impl Send for JoinError

impl Sync for JoinError

impl Unpin for JoinError

impl UnsafeUnpin for JoinError

Общие реализации

impl<T> Any for T
where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

Получает TypeId self. Подробнее

impl<T> Borrow<T> for T
where T: ?Sized,

fn borrow(&self) -> &T

Неизменяемо заимствует значение, принадлежащее вызывающему коду. Подробнее

impl<T> BorrowMut<T> for T
where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

Изменяемо заимствует значение, принадлежащее вызывающему коду. Подробнее

impl<T> From<T> for T

fn from(t: T) -> T

Возвращает аргумент без изменений.

impl<T> Instrument for T

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью предоставленного Span, возвращая обёртку Instrumented. Подробнее

fn in_current_span(self) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью текущего Span, возвращая обёртку Instrumented. Подробнее

impl<T, U> Into<U> for T
where U: From<T>,

fn into(self) -> U

Вызывает U::from(self).

То есть результат этого преобразования определяется реализацией From<T> for U.

impl<T> ToString for T
where T: Display + ?Sized,

fn to_string(&self) -> String

Преобразует заданное значение в String. Подробнее

impl<T, U> TryFrom<U> for T
where U: Into<T>,

type Error = Infallible

Тип, возвращаемый в случае ошибки преобразования.

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Выполняет преобразование.

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

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

Тип, возвращаемый в случае ошибки преобразования.

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Выполняет преобразование.

impl<T> WithSubscriber for T

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Присоединяет предоставленный Subscriber к этому типу и возвращает оболочку WithDispatch. Подробнее

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Присоединяет текущий по умолчанию Subscriber к этому типу и возвращает оболочку WithDispatch. Подробнее

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/task/struct.JoinError.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API