mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-14 04:41:49 +08:00
23 lines
953 B
Plaintext
23 lines
953 B
Plaintext
$ cargo run
|
|
Compiling error-handling v0.1.0 (file:///projects/error-handling)
|
|
error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
|
|
--> src/main.rs:4:48
|
|
|
|
|
3 | fn main() {
|
|
| --------- this function should return `Result` or `Option` to accept `?`
|
|
4 | let greeting_file = File::open("hello.txt")?;
|
|
| ^ cannot use the `?` operator in a function that returns `()`
|
|
|
|
|
= help: the trait `FromResidual<Result<Infallible, std::io::Error>>` is not implemented for `()`
|
|
help: consider adding return type
|
|
|
|
|
3 ~ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
4 | let greeting_file = File::open("hello.txt")?;
|
|
5 +
|
|
6 + Ok(())
|
|
7 + }
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|
|
error: could not compile `error-handling` (bin "error-handling") due to 1 previous error
|