3.11 错误处理
1分钟内可阅读完
Rand 中的错误处理是在简单性与必要性之间的折中。大多数 RNG 和采样函数永远不会产生错误,若让这些函数能处理错误会显著增加开销(至少在代码复杂度和使用人体工程学方面,具体方案也可能影响性能)。
但外部 RNG 可能失败,能够处理这一点很重要。
因此决定大多数方法不返回 Result 类型,但有少数重要例外,即:
大多数消费随机值的函数不会尝试任何错误处理,而是归结为调用 RngCore 的「不会失败」的方法。由于大多数 RNG 本来就不会失败,这通常不是问题,但少数可能失败的生成器在此情况下可能被迫失败: