use thiserror::Error;
#[derive(Debug, Error)]
pub enum MtError {
#[error("invalid block structure: {0}")]
InvalidBlockStructure(String),
#[error("invalid block {block} content: {detail}")]
InvalidBlockContent { block: u8, detail: String },
#[error("missing required block: {0}")]
MissingBlock(u8),
#[error("missing required field: {tag} in MT{message_type}")]
MissingField { tag: String, message_type: String },
#[error("invalid field value for {tag}: {detail}")]
InvalidFieldValue { tag: String, detail: String },
}