pub struct Error(NonZeroI32);
Expand description
A small and no_std
compatible error type
The Error::raw_os_error()
will indicate if the error is from the OS, and
if so, which error code the OS gave the application. If such an error is
encountered, please consult with your system documentation.
If this crate’s "std"
Cargo feature is enabled, then:
getrandom::Error
implementsstd::error::Error
std::io::Error
implementsFrom<getrandom::Error>
.
Tuple Fields§
§0: NonZeroI32
Implementations§
Source§impl Error
impl Error
Sourcepub const UNSUPPORTED: Error
pub const UNSUPPORTED: Error
This target/platform is not supported by getrandom
.
Sourcepub const ERRNO_NOT_POSITIVE: Error
pub const ERRNO_NOT_POSITIVE: Error
The platform-specific errno
returned a non-positive value.
Sourcepub const UNEXPECTED: Error
pub const UNEXPECTED: Error
Encountered an unexpected situation which should not happen in practice.
Sourceconst INTERNAL_START: i32 = 65_536i32
const INTERNAL_START: i32 = 65_536i32
Internal errors can be in the range of 2^16..2^17
Sourceconst CUSTOM_START: i32 = 131_072i32
const CUSTOM_START: i32 = 131_072i32
Custom errors can be in the range of 2^17..(2^17 + 2^16)
Sourcepub(crate) fn from_neg_error_code(code: i32) -> Self
pub(crate) fn from_neg_error_code(code: i32) -> Self
Creates a new instance of an Error
from a negative error code.
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. On most targets this method returns
Option<i32>
, but some platforms (e.g. UEFI) may use a different primitive
type like usize
. Consult with the RawOsError
docs for more information.
If this method returns None
, the error value can still be formatted via
the Display
implementation.
Sourcepub const fn new_custom(n: u16) -> Error
pub const fn new_custom(n: u16) -> Error
Creates a new instance of an Error
from a particular custom error code.
Sourcepub(crate) const fn new_internal(n: u16) -> Error
pub(crate) const fn new_internal(n: u16) -> Error
Creates a new instance of an Error
from a particular internal error code.