错误
两条主线上任何一步出错,最后都变成一个 hyper::Error:服务端是 Connection future 的结果和请求 body 的读取,客户端是 send_request、Connection future 和响应 body。这一部分只有一章,讲这个类型长什么样、能从它身上问出什么、问不出什么。
- hyper::Error:
Box<ErrorImpl { kind, cause }>,一个指针大;12 种私有的Kind只能通过 11 个is_*判断,有 5 种没有对应的方法;Display只打印这一层(1.0 起),底层原因在source()里,向下转型不算稳定 API。实验逐个触发每种 Kind,给出报错原文和服务端在线上回了什么;最后是 legacyClient的client error (...)。
常见报错各自是怎么产生的、怎么修,在「常见坑」一部分里按报错原文逐条讲。
💬 关联讨论
发起讨论加载中...