我正在编写一个可以返回几个不同错误中的几个错误的函数.
fn foo(...) -> Result<..., MyError> {}
Run Code Online (Sandbox Code Playgroud)
我可能需要定义自己的错误类型来表示这样的错误.我假设这可能是一个enum错误,一些enum变种附带了诊断数据:
enum MyError {
GizmoError,
WidgetNotFoundError(widget_name: String)
}
Run Code Online (Sandbox Code Playgroud)
这是最惯用的方式吗?我该如何实现这个Error特性?