1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use core::fmt::{Display, Formatter};
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum ConversionError {
FloatIsNotFinite,
NumberTooLarge,
ParseError,
NumberIsNegative,
NumberIsNotAnInteger,
ExponentTooLargeForThisPlatform,
}
impl Display for ConversionError {
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), core::fmt::Error> {
match self {
ConversionError::FloatIsNotFinite => f.write_str("Float is not finite"),
ConversionError::NumberTooLarge => f.write_str("Number too large"),
ConversionError::ParseError => f.write_str("Parse error"),
ConversionError::NumberIsNegative => f.write_str("Number is negative"),
ConversionError::NumberIsNotAnInteger => f.write_str("Number is not an integer"),
ConversionError::ExponentTooLargeForThisPlatform => {
f.write_str("Exponent too large for this platform")
}
}
}
}
#[cfg(any(doc, feature = "std"))]
impl std::error::Error for ConversionError {}