Rust 错误处理实战:? 运算符到底替你做成了什么
写 Rust 时,很多人第一次卡住的地方不是所有权,而是 ?。代码看起来只是把错误往上抛,编译器却报出 the trait bound ... From<...> is not implemented;改成 fn main() -> Result<(), Box<dyn Error>> 后能编译了,运行时又只打印一行看不懂的 Debug。要解决这些问题,需要先弄清 ? 到底做了什么。
一、? 展开后只做两件事
下面这行代码:
1let port = read_port()?;