mall-portrait-common 0.1.1

Common utilities and types for mall portrait projects.
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum PortraitError {
    #[error("数据接入错误: {0}")]
    IngestionError(String),

    #[error("数据解析错误: {0}")]
    ParseError(String),

    #[error("数据库错误: {0}")]
    DatabaseError(String),

    #[error("ID映射错误: {0}")]
    IdMappingError(String),

    #[error("算法计算错误: {0}")]
    AlgorithmError(String),

    #[error("存储错误: {0}")]
    StorageError(String),

    #[error("配置错误: {0}")]
    ConfigError(String),

    #[error("FFI调用错误: {0}")]
    FfiError(String),

    #[error("数据加载错误: {0}")]
    DataLoadError(String),

    #[error("标签计算错误: {0}")]
    LabelError(String),

    #[error("模型相关错误: {0}")]
    ModelError(String),

    #[error("特征工程错误: {0}")]
    FeatureError(String),

    #[error("IO 错误: {0}")]
    IoError(#[from] std::io::Error),

    #[error("外部库错误: {0}")]
    ExternalError(String),

    #[error("未知错误: {0}")]
    Unknown(String),
}

pub type Result<T> = std::result::Result<T, PortraitError>;