yew_table/
error.rs

1use std::fmt;
2use std::error;
3
4#[derive(Debug)]
5pub enum TableError {
6    NonRenderableField(String),
7    InvalidFieldName(String),
8}
9
10impl fmt::Display for TableError {
11    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12        let msg = match self {
13            TableError::InvalidFieldName(field_name) => format!("Invalid field name given: '{}'.", field_name),
14            TableError::NonRenderableField(field_name) => format!("Could not render field '{}' for which no HTML representation is defined.", field_name),
15        };
16        write!(f, "{}", msg)
17    }
18}
19
20impl error::Error for TableError {
21    fn source(&self) -> Option<&(dyn error::Error + 'static)> {
22        None
23    }
24
25    fn description(&self) -> &str {
26        match self {
27            TableError::InvalidFieldName(_) => "Invalid field name given.",
28            TableError::NonRenderableField(_) => "Field has no HTML representation defined.",
29        }
30    }
31}
32
33pub type Result<T> = std::result::Result<T, TableError>;