Jos*_*h R 13 error-handling rust
我正在学习 Rust,但找不到所有错误类型的列表。当函数返回 a 时Result,标准库是否有一组预定义错误可供使用?
我知道可以在 Rust 中创建自定义错误类型,这是解决方案吗?制作所有自定义错误类型?
没有明确定义“错误类型”的含义,因此不存在全局错误列表。
如果您的意思是“是否存在用作 的所有类型的列表Result::Err,那么答案仍然是否定的。有一些类似于slice::binary_searchreturn 的方法Result<usize, usize>。是否usize被视为错误类型?如果 aResult::Err完全在函数内部构造并且从不这样做会怎样?留下它;该类型被视为错误类型吗?包含 ; 的泛型类型怎么样Result<i32, E>?应该将任何具体类型E称为错误类型吗?
如果您的意思是“是否存在实现 的所有类型的列表std::error::Error,那么答案是“有点”。有关详细信息,请参阅如何获取在 Rust 中实现特定特征的结构列表?
标准库是否有一组预定义的错误
是的。
可供使用
有时。io::Error允许您构建自己的错误值,但num::ParseIntError事实并非如此。
这是解决方案吗?制作所有自定义错误类型?
一般来说,是的。
也可以看看:
小智 5
结果类型在标准库中通常具有别名。如果您在标准库文档中看到一个函数,您可以单击Result,这应该会引导您找到别名类型(例如std::io::Result),然后您可以Error查看Result.
该文档还提供了标准库中实现该特征的所有枚举和结构的列表Error。
| 归档时间: |
|
| 查看次数: |
15463 次 |
| 最近记录: |