pub struct JoinError { /* 私有字段 */ }展开描述
任务未能执行完成。
实现§
源代码§impl JoinError
impl JoinError
源代码pub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
如果错误是由任务被取消引起的,则返回 true。
有关取消的更多信息,请参阅模块级文档。
源代码pub 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());
}源代码pub fn into_panic(self) -> Box<dyn Any + Send + 'static>
pub fn into_panic(self) -> Box<dyn Any + Send + 'static>
消费 join error,返回任务 panic 的对象。
§恐慌
如果 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 实现§
源代码§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
源代码§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息