pub struct Error { /* private fields */ }
Expand description
Error type of random number generators
In order to be compatible with std
and no_std
, this type has two
possible implementations: with std
a boxed Error
trait object is stored,
while with no_std
we merely store an error code.
Implementations
sourceimpl Error
impl Error
sourcepub const CUSTOM_START: u32
pub const CUSTOM_START: u32
Codes at or above this point can be used by users to define their own custom errors.
This has a fixed value of (1 << 31) + (1 << 30) = 0xC000_0000
,
therefore the number of values available for custom codes is 1 << 30
.
This is identical to getrandom::Error::CUSTOM_START
.
sourcepub const INTERNAL_START: u32
pub const INTERNAL_START: u32
Codes below this point represent OS Errors (i.e. positive i32 values).
Codes at or above this point, but below Error::CUSTOM_START
are
reserved for use by the rand
and getrandom
crates.
This is identical to getrandom::Error::INTERNAL_START
.
sourcepub fn new<E>(err: E) -> Self where
E: Into<Box<dyn Error + Send + Sync + 'static>>,
pub fn new<E>(err: E) -> Self where
E: Into<Box<dyn Error + Send + Sync + 'static>>,
Construct from any type supporting std::error::Error
Available only when configured with std
.
See also From<NonZeroU32>
, which is available with and without std
.
sourcepub fn inner(&self) -> &(dyn Error + Send + Sync + 'static)
pub fn inner(&self) -> &(dyn Error + Send + Sync + 'static)
Reference the inner error (std
only)
When configured with std
, this is a trivial operation and never
panics. Without std
, this method is simply unavailable.
sourcepub fn take_inner(self) -> Box<dyn Error + Send + Sync + 'static>
pub fn take_inner(self) -> Box<dyn Error + Send + Sync + 'static>
Unwrap the inner error (std
only)
When configured with std
, this is a trivial operation and never
panics. Without std
, this method is simply unavailable.
sourcepub fn raw_os_error(&self) -> Option<i32>
pub fn raw_os_error(&self) -> Option<i32>
Extract the raw OS error code (if this error came from the OS)
This method is identical to std::io::Error::raw_os_error()
, except
that it works in no_std
contexts. If this method returns None
, the
error value can still be formatted via the Diplay
implementation.
sourcepub fn code(&self) -> Option<NonZeroU32>
pub fn code(&self) -> Option<NonZeroU32>
Retrieve the error code, if any.
If this Error
was constructed via From<NonZeroU32>
, then this method
will return this NonZeroU32
code (for no_std
this is always the
case). Otherwise, this method will return None
.
Trait Implementations
sourceimpl Error for Error
impl Error for Error
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<NonZeroU32> for Error
impl From<NonZeroU32> for Error
sourcefn from(code: NonZeroU32) -> Self
fn from(code: NonZeroU32) -> Self
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more