pub struct Error { /* private fields */ }boring only.Expand description
A detailed error reported as part of an ErrorStack.
Implementations§
Source§impl Error
impl Error
Sourcepub fn get() -> Option<Error>
pub fn get() -> Option<Error>
Pops the first error off the OpenSSL error stack.
This corresponds to ERR_get_error_line_data.
Sourcepub fn put(&self)
pub fn put(&self)
Pushes the error back onto the OpenSSL error stack.
This corresponds to ERR_put_error.
Sourcepub fn library_reason(&self, library_code: _bindgen_ty_1) -> Option<i32>
pub fn library_reason(&self, library_code: _bindgen_ty_1) -> Option<i32>
Get {lib}_R_{reason} reason code for the given library, or None if the error is from a different library.
Libraries are identified by [ERR_LIB_{name}(ffi::ERR_LIB_SSL) constants.
Sourcepub fn code(&self) -> u32
👎Deprecated: use library_reason() to compare error codes
pub fn code(&self) -> u32
use library_reason() to compare error codes
Returns a raw OpenSSL packed error code for this error, which can’t be reliably compared to any error constant.
Use Error::library_code() and Error::library_reason() instead.
Packed error codes are different than SSL error codes.
Sourcepub fn library(&self) -> Option<&'static str>
pub fn library(&self) -> Option<&'static str>
Returns the name of the library reporting the error, if available.
Sourcepub fn library_code(&self) -> i32
pub fn library_code(&self) -> i32
Returns the raw OpenSSL error constant for the library reporting the error (ERR_LIB_{name}).
Error reason codes are not globally unique, but scoped to each library.
Sourcepub fn function(&self) -> Option<&'static str>
pub fn function(&self) -> Option<&'static str>
Returns None. Boring doesn’t use function codes.
Sourcepub fn reason_code(&self) -> i32
pub fn reason_code(&self) -> i32
Returns library-specific reason code corresponding to some of the {lib}_R_{reason} constants.
Reason codes are ambiguous, and different libraries reuse the same numeric values for different errors.
Use Error::library_reason to compare error codes.
For ERR_LIB_SYS the reason code is errno. ERR_LIB_USER can use any values.
Other libraries may use ERR_R_* or their own codes.
Sourcepub fn file(&self) -> &'static str
pub fn file(&self) -> &'static str
Returns the name of the source file which encountered the error.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl Send for Error
impl Sync for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Error> ErrorExt for Error
impl<Error> ErrorExt for Error
Source§fn into_box_error(self) -> Box<dyn Error + Sync + Send>
fn into_box_error(self) -> Box<dyn Error + Sync + Send>
BoxError without additional context.Source§fn into_opaque_error(self) -> OpaqueError
fn into_opaque_error(self) -> OpaqueError
OpaqueError without additional context. Read moreSource§fn context_debug<M>(self, value: M) -> Box<dyn Error + Sync + Send>
fn context_debug<M>(self, value: M) -> Box<dyn Error + Sync + Send>
fmt::Debug as fmt::Display.Source§fn context_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Source§fn context_str_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_str_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Self::context_field but using a string-like value,
this is useful in case you need to pass a string slice which is borrowed
and thus cannot be passed as part of ’static error.Source§fn context_hex_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_hex_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Source§fn context_debug_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_debug_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
fmt::Debug as fmt::Display.Source§fn with_context<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
fn with_context<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
Source§fn with_context_debug<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
fn with_context_debug<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
fmt::Debug as fmt::Display.Source§fn with_context_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Source§fn with_context_str_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_str_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Self::with_context_field but using a string-like value,
this is useful in case you need to pass a string slice which is borrowed
and thus cannot be passed as part of ’static error.Source§fn with_context_hex_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_hex_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Source§fn with_context_debug_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_debug_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
fmt::Debug as fmt::Display.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> ⓘ
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> ⓘ
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