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§
Source§impl Error
impl Error
Sourcepub const CUSTOM_START: u32 = 3_221_225_472u32
pub const CUSTOM_START: u32 = 3_221_225_472u32
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 = 2_147_483_648u32
pub const INTERNAL_START: u32 = 2_147_483_648u32
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) -> Error
pub fn new<E>(err: E) -> Error
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 + Sync + Send + 'static)
pub fn inner(&self) -> &(dyn Error + Sync + Send + '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 + Sync + Send>
pub fn take_inner(self) -> Box<dyn Error + Sync + Send>
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 Display implementation.