1use std::error::Error;
2use std::fmt;
3
4pub type Result<T> = std::result::Result<T, PdfKitError>;
6
7#[derive(Debug, Clone, PartialEq, Eq)]
9pub struct PdfKitError {
10 code: i32,
11 message: String,
12}
13
14impl PdfKitError {
15 pub(crate) fn new(code: i32, message: impl Into<String>) -> Self {
16 Self {
17 code,
18 message: message.into(),
19 }
20 }
21
22 #[must_use]
24 pub fn code(&self) -> i32 {
25 self.code
26 }
27
28 #[must_use]
30 pub fn message(&self) -> &str {
31 &self.message
32 }
33}
34
35impl fmt::Display for PdfKitError {
36 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
37 write!(f, "{} (status {})", self.message, self.code)
38 }
39}
40
41impl Error for PdfKitError {}