pub struct JoinError { /* private fields */ }展开描述
任务未能成功执行完成。
实现§
Source§impl JoinError
impl JoinError
Sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
如果错误是由任务被取消引起的,则返回 true。
另请参阅 模块级文档 以获取有关取消的更多信息。
Sourcepub fn is_panic(&self) -> bool
pub fn is_panic(&self) -> bool
如果错误是由任务 panic 引起的,则返回 true。
§示例
use std::panic;
#[tokio::main]
async fn main() {
let err = tokio::spawn(async {
panic!("boom");
}).await.unwrap_err();
assert!(err.is_panic());
}Sourcepub fn into_panic(self) -> Box<dyn Any + Send + 'static>
pub fn into_panic(self) -> Box<dyn Any + Send + 'static>
消费此 join error,返回任务因之 panic 的对象。
§Panics
如果 Error 并不表示底层任务因 panic 而终止,则 into_panic() 会 panic。可使用 is_panic 检查错误原因,或使用 try_into_panic 获得不会 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());
}
}Trait 实现§
自动 Trait 实现§
impl Freeze for JoinError
impl !RefUnwindSafe for JoinError
impl Send for JoinError
impl Sync for JoinError
impl Unpin for JoinError
impl UnsafeUnpin for JoinError
impl !UnwindSafe for JoinError
Blanket 实现§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息