1use std::error::Error;
2use std::fmt;
3
4use crate::{get_last_error_message, get_last_error_number};
5
6#[derive(Debug)]
8pub struct WebUIError {
9 code: usize,
11 message: String,
13}
14
15impl WebUIError {
16 pub(crate) fn get_last_error() -> Self {
17 Self {
18 code: get_last_error_number(),
19 message: get_last_error_message(),
20 }
21 }
22
23 pub(crate) fn from_bool(value: bool) -> Result<(), WebUIError> {
24 if value {
25 Ok(())
26 } else {
27 Err(WebUIError::get_last_error())
28 }
29 }
30}
31
32impl fmt::Display for WebUIError {
34 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
35 write!(f, "Error (Code {}): {}", self.code, self.message)
36 }
37}
38
39impl Error for WebUIError {}