【发布时间】:2018-01-16 21:42:42
【问题描述】:
我希望这个函数返回错误结果:
fn get_result() -> Result<String, std::io::Error> {
// Ok(String::from("foo")) <- works fine
Result::Err(String::from("foo"))
}
错误信息
error[E0308]: mismatched types
--> src/main.rs:3:17
|
3 | Result::Err(String::from("foo"))
| ^^^^^^^^^^^^^^^^^^^ expected struct `std::io::Error`, found struct `std::string::String`
|
= note: expected type `std::io::Error`
found type `std::string::String`
我很困惑如何在使用预期的结构时打印出错误消息。
【问题讨论】:
-
您需要澄清这个问题。这里没有任何内容涉及打印。 Result 只是一个普通的数据类型。问题是如何让 Rust 根据
get_result的返回类型打印错误,还是更多关于如何修复类型错误?目前你只是有不匹配的类型,如果你有一个字符串错误,不清楚为什么要使用std::io::Error开始。 -
编译器和代码一目了然。您必须输入
std::io::Error,然后输入String。你有什么问题?
标签: rust rust-result