KuS*_*Spa 4 error-handling rust
我正在学习Rust 猜谜游戏教程,但遇到了困难。该教程指出
let mut guess = String::new();
let guess = "asdf";
let guess: u32 = guess.trim().parse().expect("err");
Run Code Online (Sandbox Code Playgroud)
解析 aString并expect评估 aResult并在出现错误时停止。所以输出应该是err,但我得到:
let mut guess = String::new();
let guess = "asdf";
let guess: u32 = guess.trim().parse().expect("err");
Run Code Online (Sandbox Code Playgroud)
我正在使用 Rust 稳定版。
为什么我的期望没有捕获错误?
它做了。如果将expect消息更改为"oh no i am asploded",则输出如下:
thread 'main' panicked at 'oh no i am asploded: ParseIntError { kind: InvalidDigit }', libcore/result.rs:945:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Run Code Online (Sandbox Code Playgroud)
expect只是unwrap带有自定义消息,unwrap如果在 aNone或上使用,则会出现恐慌Err(_)。
至于如何处理错误而不惊慌,您需要阅读书中有关可恢复错误的部分。Result
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |