#[non_exhaustive]pub enum PdfError {
Io(Error),
Parse(String),
InvalidPage(usize),
UnsupportedFeature(String),
Encryption(String),
ResourceLimitExceeded {
resource: &'static str,
limit: u64,
actual: u64,
},
SecurityViolation(String),
Signature(String),
Other(String),
}Expand description
easypdf-rust 的核心错误类型。
涵盖 I/O、解析、加密和不支持的功能错误。
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Io(Error)
包装标准 I/O 错误。
Parse(String)
PDF 无法解析或包含格式错误的数据。
InvalidPage(usize)
页索引超出范围。
UnsupportedFeature(String)
请求的功能尚未实现或不被引擎支持。
Encryption(String)
PDF 已加密且未提供密码或密码错误。
ResourceLimitExceeded
配置的资源限制被超出。
SecurityViolation(String)
安全守卫拒绝了输入(解压炸弹、SSRF 等)。
Signature(String)
数字签名操作失败。
Other(String)
其他错误的兜底变体。
Implementations§
Trait Implementations§
Source§impl Error for PdfError
impl Error for PdfError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for PdfError
impl !UnwindSafe for PdfError
impl Freeze for PdfError
impl Send for PdfError
impl Sync for PdfError
impl Unpin for PdfError
impl UnsafeUnpin for PdfError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more