当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust IntErrorKind用法及代码示例


本文简要介绍rust语言中 Enum core::num::IntErrorKind 的用法。

用法

#[non_exhaustive]
pub enum IntErrorKind {
    Empty,
    InvalidDigit,
    PosOverflow,
    NegOverflow,
    Zero,
}

枚举来存储可能导致解析整数失败的各种类型的错误。

示例

if let Err(e) = i32::from_str_radix("a12", 10) {
    println!("Failed conversion to i32: {:?}", e.kind());
}

变体(非详尽)

非详尽的枚举将来可能会添加其他变体。因此,当匹配非穷举枚举的变体时,必须添加一个额外的通配符来说明任何未来的变体。

Empty

正在解析的值为空。

解析空字符串时将构造此变体。

InvalidDigit

在其上下文中包含无效数字。

除其他原因外,此变体将在解析包含非 ASCII 字符的字符串时构造。

+- 单独放置在字符串中或放在数字中间时,也会构造此变体。

PosOverflow

整数太大,无法存储在目标整数类型中。

NegOverflow

整数太小,无法存储在目标整数类型中。

Zero

值为零

当解析字符串的值为零时,将发出此变体,这对于非零类型是非法的。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Enum core::num::IntErrorKind。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。