Expand description
§get-last-error
An error wrapper over Win32 API errors.
§Examples
A Win32Error
can be constructed from an arbitrary DWORD
:
use get_last_error::Win32Error;
let err = Win32Error::new(0);
println!("{}", err); // prints "The operation completed successfully."
The Win32Error::get_last_error
retrieves the last error code for the current thread:
use get_last_error::Win32Error;
use winapi::um::{winnt::HANDLE, processthreadsapi::OpenProcess};
fn open_process() -> Result<HANDLE, Win32Error> {
let result = unsafe { OpenProcess(0, 0, 0) }; // some windows api call
if result.is_null() { // null indicates failure.
Err(Win32Error::get_last_error())
} else {
Ok(result)
}
}
Structs§
- TryFrom
IoError - Error when converting a
io::Error
to aWin32Error
when no raw os error code is available. - Win32
Error - A wrapper over Win32 API errors.
Implements
Display
usingFormatMessageW
.