sqlite_rs/
result.rs

1use core::array::TryFromSliceError;
2use core::fmt::Display;
3use std::error::Error as StdError;
4use std::io::Error as StdioError;
5
6pub type SqliteResult<T> = Result<T, SqliteError>;
7
8#[derive(Debug)]
9pub enum SqliteError {
10  EmptyDb,
11  InvalidFileUriMode,
12  HeaderValidationError(String),
13  TryFromSliceError(TryFromSliceError),
14  StdioError(StdioError),
15  Custom(String),
16  ParsingField(FieldParsingError),
17  InvalidPayloadSize(InvalidPayloadSizeError),
18}
19
20#[derive(Debug)]
21pub struct FieldParsingError {
22  pub error: String,
23  pub ty: String,
24}
25
26#[derive(Debug)]
27pub struct InvalidPayloadSizeError {
28  pub error: String,
29  pub ty: String,
30}
31
32impl Display for SqliteError {
33  fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
34    // TODO
35    write!(f, "{:?}", self)
36  }
37}
38
39impl From<TryFromSliceError> for SqliteError {
40  fn from(error: TryFromSliceError) -> Self {
41    Self::TryFromSliceError(error)
42  }
43}
44
45impl StdError for SqliteError {}
46
47impl From<StdioError> for SqliteError {
48  fn from(io_error: StdioError) -> Self {
49    Self::StdioError(io_error)
50  }
51}