gpt4 book ai didi

error-handling - 有没有办法将 std::io::Error 转换为 failure::error::Error?

转载 作者:行者123 更新时间:2023-11-29 08:36:11 28 4
gpt4 key购买 nike

我有这个代码:

let file = FileStorage {
// ...
};

file.write("Test", bytes.as_ref())
.map_err(|e| MultipartError::Payload(error::PayloadError::Io(e)))?;

对于我的问题,这段代码是在什么上下文中编写的并不重要,所以这只是为了演示,我不会提供有关这段代码的功能和上下文的更多详细信息。

error::PayloadError::Io(e) 采用 std::io::Error 结构,但是我的 ResultError自己的类型 FileStorage 采用 failure::error::Error

我可以将我的类型的 ResultError 更改为 std::io::Error,但由于其他原因,这在该项目中是不可能的。

由于这两个错误是外部特征,我无法相互实现。有没有一种简单的方法可以在不创建我自己的错误类型的情况下转换错误?

最佳答案

@AbhijitKadam评论中的解决方案对我来说很好:

file.write("Test", bytes.as_ref())
.map_err(|e| MultipartError::Payload(error::PayloadError::Io(std::io::Error::new(ErrorKind::Other, e))))?;

关于error-handling - 有没有办法将 std::io::Error 转换为 failure::error::Error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771500/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com