[−][src]Crate w32_error
w32-error
w32-error provides the W32Error
type for wrapping Windows API error codes. A W32Error
has
the same layout as a DWORD
, and implements Display
for printing human-readable error
messages. When the std
crate feature is enabled, W32Error
also implements Error
, and can
be converted to or from an io::Error
via the standard TryFrom
/TryInto
(io::Error
=> W32Error
) and From
/Into
(W32Error
=> io::Error
) traits.
Examples
A W32Error
can be constructed from an arbitrary DWORD
:
use w32_error::W32Error; fn main() -> Result<(), W32Error> { Err(W32Error::new(0)) }
The W32Error::last_thread_error
method constructs a W32Error
using the last-error code set
for the calling thread:
ⓘThis example is not tested
use std::io; use w32_error::W32Error; fn windows_api_call() -> Result<(), W32Error> { let result = SomeWindowsAPIFunction(); if result == 0 { // Zero indicates failure. Err(W32Error::last_thread_error()) } else { // ... } } fn main() -> io::Result<()> { windows_api_call()?; // Converts `W32Error` to `io::Error` on failure. Ok(()) }
W32Error
implements Display
via calling FormatMessageW
:
use w32_error::W32Error; fn main() { let error = W32Error::new(0); println!("{}", error); }
Structs
TryFromIoError | A failure to convert an |
W32Error | A Windows API error. |