use std::num::{ParseFloatError, ParseIntError};
use thiserror::Error;
#[derive(Debug, Clone, Error)]
pub enum MessageFieldParsingError {
#[error("invalid field type: {0}")]
TypeError(String),
#[error("field type has an invalid list specification: {0}")]
ListTypeError(String),
#[error("invalid units: {0}")]
UnitsError(String),
#[error("incorrect message field invalid value specification: {0}")]
InvalidValueSpecParseError(String),
#[error("message field invalid integer value specification parsing error: {0:?}")]
InvalidValueSpecIntParseError(ParseIntError),
#[error("message field invalid floating point value specification parsing error: {0:?}")]
InvalidValueSpecFloatParseError(ParseFloatError),
}