Skip to main content

jdbc/
errors.rs

1use std::fmt::Display;
2
3#[derive(Debug)]
4pub enum Error {
5    JniError(jni::errors::Error),
6    ImpossibleError,
7}
8
9impl From<jni::errors::Error> for Error {
10    fn from(err: jni::errors::Error) -> Self {
11        Error::JniError(err)
12    }
13}
14
15impl Display for Error {
16    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17        match self {
18            Error::JniError(err) => err.fmt(f),
19            Error::ImpossibleError => f.write_str("Impossible Error."),
20        }
21    }
22}
23
24#[derive(Debug)]
25pub enum InitError {
26    JvmError(jni::JvmError),
27    StartJvmError(jni::errors::StartJvmError),
28    JniError(jni::errors::Error),
29    IsNotDatasource,
30    NoFactory,
31}
32
33impl From<jni::JvmError> for InitError {
34    fn from(err: jni::JvmError) -> Self {
35        InitError::JvmError(err)
36    }
37}
38
39impl From<jni::errors::StartJvmError> for InitError {
40    fn from(err: jni::errors::StartJvmError) -> Self {
41        InitError::StartJvmError(err)
42    }
43}
44
45impl From<jni::errors::Error> for InitError {
46    fn from(err: jni::errors::Error) -> Self {
47        InitError::JniError(err)
48    }
49}
50
51impl Display for InitError {
52    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
53        match self {
54            InitError::JvmError(err) => err.fmt(f),
55            InitError::StartJvmError(err) => err.fmt(f),
56            InitError::JniError(err) => err.fmt(f),
57            InitError::IsNotDatasource => f.write_str("IsNotDatasource"),
58            InitError::NoFactory => f.write_str("NoFactory"),
59        }
60    }
61}