rust - 在 Rust 中定义可以返回多种错误类型的函数
问题描述
我有一个main()
返回的函数Result()
。在此函数中,我正在运行可能返回不同错误类型的其他函数。定义所有错误类型的最佳方法是什么?
考虑以下示例:
#[derive(Debug)]
enum Error {
CustomError
}
fn can_raise_custom_error() -> Result<(), Error> {
Ok(())
}
fn can_raise_io_error() -> Result<(), std::io::Error> {
Ok(())
}
fn main() -> Result<(), ???> {
let _ = can_raise_custom_error()?;
let _ = can_raise_io_error()?;
Ok(())
}
我想到的唯一一件事就是io::Error
在我的枚举中定义并使用match
表达式更改std::io::Error
为Error:IoError
.
有没有更好的办法?我希望像组合特征这样的东西,但它不起作用:
fn main() -> Result<(), <Error + std::io::Error>> {
解决方案
推荐阅读
- vue.js - Vuepress 自定义主题和 postcss
- bash - $ mvn -v – 找不到命令
- javascript - 从 MongoDB 集合中的数组中获取特定对象到车把表中
- c# - C# Web 请求与 LXD 交互
- reactjs - Material-UI 中使用 Styled-Components 的媒体查询
- python - 在 Pandas 中对列进行词形还原时出现语法错误
- c++ - 将 char 数组转换为时间结构
- r - 在R中的美国地图上的2个邮政编码之间画一条线
- python - 未找到:/products/images/DSroadmap.png 未找到:/products/images/codewall.jpg [26/Jan/2020 22:13:36]
- python-3.x - 在使用机器人框架时,尝试在设置部分添加资源时遇到导入错误消息?