作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到 Rust soft-deprecated Error::description
.建议使用 Display
或 to_string()
来获取我的错误描述,但这是否意味着我必须重新编写当前的错误消息系统来处理 String
而不是 &str
?
我正在使用这段代码,我注意到在野外的代码看起来很相似:
fn description(&self) -> &str {
match *self {
Error::CannotDeriveFromHardenedKey => "cannot derive hardened key from public key",
Error::Ecdsa(ref e) => error::Error::description(e),
Error::RngError(_) => "rng error",
Error::MnemonicError(_) => "mnemonic error",
}
}
最佳答案
does that mean that I have to re-write my current error message systems to handle
String
instead of&str
?
不,这意味着您的类型的 Error
的新实现最好忽略方法description
。这意味着,不要在你的 impl Error
原因中添加 fn description(&self) -> &str {}
,这似乎是你试图做的。
实现它可能暂时还是可以的,但是它本身就仅限于返回一个&str
,这确实是一个有限的签名。
请注意,从 Rust 1.42.0 开始,此方法现在是 hard deprecated .
关于string - Error::description 被软弃用是否意味着我必须重写我当前的错误消息系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59768572/
我是一名优秀的程序员,十分优秀!