use std::{error::Error, fmt::Display}; #[derive(Debug, Clone)] pub enum SgxError { CertificateBuildError(String), QuoteError(String), DcapError(String), SealingError(String), UnSealingError(String), } impl Display for SgxError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match *self { SgxError::CertificateBuildError(ref message) => { write!(f, "CertificateBuildError: {}", message) } SgxError::QuoteError(ref message) => write!(f, "QuoteVerifyError: {}", message), SgxError::DcapError(ref message) => write!(f, "DcapError: {}", message), SgxError::SealingError(ref message) => write!(f, "SealingError: {}", message), SgxError::UnSealingError(ref message) => { write!(f, "UnSealingError: {}", message) } } } } impl Error for SgxError {}