rust_minifb/src/error.rs

37 lines
1.2 KiB
Rust
Raw Normal View History

2016-03-05 03:36:28 +11:00
use std::fmt;
/// Errors that can be returned from various operations
2016-03-05 03:36:28 +11:00
///
pub enum Error {
/// Returned if menu Menu function isn't supported
2016-03-05 03:36:28 +11:00
MenusNotSupported,
/// Menu already exists
2016-03-05 03:36:28 +11:00
MenuExists(String),
/// Menu already exists
2016-03-05 03:36:28 +11:00
WindowCreate(String),
/// Unable to Update
UpdateFailed(String),
2016-03-05 03:36:28 +11:00
}
impl fmt::Debug for Error {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
2016-03-05 03:36:28 +11:00
match *self {
Error::MenusNotSupported => write!(formatter, "Menus not supported"),
Error::MenuExists(_) => write!(formatter, "Menu already exists"),
Error::WindowCreate(_) => write!(formatter, "Failed to create window"),
Error::UpdateFailed(_) => write!(formatter, "Failed to Update"),
2016-03-05 03:36:28 +11:00
}
}
}
impl fmt::Display for Error {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
match *self {
Error::MenusNotSupported => write!(fmt, "{:?}", self),
Error::MenuExists(ref e) => write!(fmt, "{:?} {:?}", self, e),
Error::WindowCreate(ref e) => write!(fmt, "{:?} {:?}", self, e),
Error::UpdateFailed(ref e) => write!(fmt, "{:?} {:?}", self, e),
2016-03-05 03:36:28 +11:00
}
}
}