use std::error::Error;
use std::fmt;
use crate::{get_last_error_message, get_last_error_number};
#[derive(Debug)]
pub struct WebUIError {
code: usize,
message: String,
}
impl WebUIError {
pub(crate) fn get_last_error() -> Self {
Self {
code: get_last_error_number(),
message: get_last_error_message(),
}
}
pub(crate) fn from_bool(value: bool) -> Result<(), WebUIError> {
if value {
Ok(())
} else {
Err(WebUIError::get_last_error())
}
}
}
impl fmt::Display for WebUIError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "Error (Code {}): {}", self.code, self.message)
}
}
impl Error for WebUIError {}