Files
desubot/src/errors.rs

55 lines
1.2 KiB
Rust
Raw Normal View History

2020-12-05 15:57:11 +03:00
use reqwest::Error as reqwest_error;
2020-11-29 16:23:27 +03:00
use rusqlite::Error as sqlite_error;
2020-12-06 23:55:09 +03:00
use serde_json::Error as serde_error;
2020-12-07 15:55:25 +03:00
use std::{fmt, io::Error as io_error};
use telegram_bot::Error as tg_error;
2020-11-29 16:23:27 +03:00
#[derive(Debug)]
pub(crate) enum Error {
UserNotFound,
SQLITE3Error(sqlite_error),
TelegramError(tg_error),
2020-12-05 15:57:11 +03:00
ReqwestError(reqwest_error),
2020-11-29 16:23:27 +03:00
ConfNotFound,
2020-12-07 15:55:25 +03:00
WordNotFound,
WordInStopList,
2020-12-05 15:57:11 +03:00
IOError(io_error),
FileNotFound,
2020-12-06 23:55:09 +03:00
JsonParseError(serde_error),
2020-11-29 16:23:27 +03:00
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "An error occurred.")
}
}
impl From<sqlite_error> for Error {
fn from(e: sqlite_error) -> Error {
return Error::SQLITE3Error(e);
}
}
impl From<tg_error> for Error {
fn from(e: tg_error) -> Error {
return Error::TelegramError(e);
}
2020-12-05 15:57:11 +03:00
}
impl From<reqwest_error> for Error {
fn from(e: reqwest_error) -> Error {
return Error::ReqwestError(e);
}
}
impl From<io_error> for Error {
fn from(e: io_error) -> Error {
return Error::IOError(e);
}
2020-12-06 23:55:09 +03:00
}
impl From<serde_error> for Error {
fn from(e: serde_error) -> Error {
return Error::JsonParseError(e);
}
}