Struct tokio::task::JoinError [−][src]
pub struct JoinError { /* fields omitted */ }
Expand description
Task failed to execute to completion.
Implementations
Returns true if the error was caused by the task being cancelled
Returns true if the error was caused by the task panicking
Examples
use std::panic;
#[tokio::main]
async fn main() {
let err = tokio::spawn(async {
panic!("boom");
}).await.unwrap_err();
assert!(err.is_panic());
}
Consumes the join error, returning the object with which the task panicked.
Panics
into_panic()
panics if the Error
does not represent the underlying
task terminating with a panic. Use is_panic
to check the error reason
or try_into_panic
for a variant that does not panic.
Examples
ⓘ
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());
}
}
Consumes the join error, returning the object with which the task
panicked if the task terminated due to a panic. Otherwise, self
is
returned.
Examples
ⓘ
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);
}
}