恐慌钩子
2026/1/3小于 1 分钟clonewebrustconfigtask_panic
提示
hyperlane 框架内部会对 panic 进行捕获,用户可通过钩子进行设置(框架默认仅捕获异常不处理异常), 需要注意的是,执行 panic 之前,框架会重置 aborted 状态, 支持多次注册,按照注册顺序进行执行,如果任何阶段设置了 aborted,则后续注册的 task_panic 将不会执行。
struct TaskPanicHook;
impl ServerHook for TaskPanicHook {
async fn new(_ctx: &hyperlane::Context) -> Self {
Self
}
async fn handle(self, ctx: &Context) {
let panic_data_option: Option<PanicData> = ctx.try_get_panic_data().await;
let panic_data: PanicData = ctx.get_panic_data().await;
}
}
server.task_panic::<TaskPanicHook>().await;